GNU bug report logs -
#6784
24.0.50; cmdproxy incosistency with command pathnames
Previous Next
Reported by: Óscar Fuentes <ofv <at> wanadoo.es>
Date: Tue, 3 Aug 2010 15:57:01 UTC
Severity: normal
Found in version 24.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
A command path name that contains slashes (instead of backslashes) will
work fine with cmdproxy as far as it doesn't require to be executed
through a shell. Otherwise only backslashes work. Example:
cmdproxy.exe -c "c:/foo/bar.exe"
which executes bar.exe through CreateProces, works fine, but
cmdproxy.exe -c "c:/foo/bar.exe | zoo.exe"
which invokes the shell for executing the command, fails with an error
message that comes from cmd.exe and that says "c:" is not recognized as
a command.
OTOH,
cmdproxy.exe -c "c:\foo\bar.exe | zoo.exe"
works fine.
cmd.exe has no problem with commands that uses the slash as directory
separator, as this works OK:
cmd /c c:/foo/bar.exe
so the problem must be in cmdproxy, which probably splits the command as
"c:" "/foo/bar.exe"
and passes it as separate arguments to the shell.
Although this bug possibly is not hard to fix, maybe we should consider
the larger scenario: is it worth the trouble having two separate
execution paths on cmdproxy? Inconsistencies like this among the two
separate ways of executing commands may arise on the future, confusing
the users. Maybe we should remove the CreateProcess method and do
everything through the underlying shell.
This bug report was last modified 14 years and 198 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.