Opened 11 years ago
Closed 10 years ago
#13157 closed defect (fixed)
Double quotes in guestprocess arguments are removed or replaced with a backslash
Reported by: | hakito | Owned by: | |
---|---|---|---|
Component: | guest control | Version: | VirtualBox 4.3.12 |
Keywords: | Cc: | ||
Guest type: | all | Host type: | Windows |
Description
When executing a command on the guest via vboxmanage guestcontrol exec or the virtualbox api using double quotes within an argument, it get's replaced with a single backslash character in the guest command line.
For example:
vboxmanage guestcontrol Windows7 exec --username user --password pass --image c:\test.bat -- my""quote vboxmanage guestcontrol Windows7 exec --username user --password pass --image c:\test.bat -- "my""quote"
Expected command lines:
cmd.exe /c c:\test.bat my""quote cmd.exe /c c:\test.bat "my""quote"
Actual command lines:
cmd.exe /c c:\test.bat myquote cmd.exe /c c:\test.bat my\quote
Change History (5)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
Should be now fixed in the latest 4.3.x test builds (>= revision 99851). Could you give it a try?
comment:3 by , 10 years ago
Question:
I reported on the dev list that Extension installation/updating/removal is now currently broken in the test builds. See: https://www.virtualbox.org/pipermail/vbox-dev/2015-May/013070.html
Is it probable that the solution for this ticket, was the cause of breaking it? The error makes it seem probable, to me.
The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: argv[0] does not match the executable image path: 'C:Program FilesOracleVirtualBox/VBoxExtPackHelperApp.exe' != 'C:\Program Files\Oracle\VirtualBox\VBoxExtPackHelperApp.exe'.
Can you look into it and reply?
Thanks, Jacob
comment:4 by , 10 years ago
Regarding my problem, Frank replied with:
thanks for the 'heads-up'. Indeed there was a regression in this build. I've just updated the test builds (100087) which include the fix.
I can verify this error occurs. I've been trying to find the cause in source, and I believe the problem lies with the RTGetOptArgvToString function found in VBox/Runtime/common/misc/getoptargv.cpp. It is used to convert an array of arguments to an argument string.
I'm not certain though, the function doesn't look like it does anything wrong. I think I'll need to set up an environment so I can compile it in order to narrow down where the error occurs.