[cfe-dev] interesting ccc issue
Sam Bishop
sam at bishop.dhs.org
Wed Feb 6 08:11:16 PST 2008
On Tue, February 5, 2008 5:20 pm, Anders Carlsson wrote:
> def run(args):
> - cmd = ' '.join(args)
> + cmd = ' '.join(args).replace("\"", "\\\"");
> print >> sys.stderr, cmd
> code = os.system(cmd)
Double quotes, unfortunately, are just the tip of the iceberg. Consider
-DCMD_STRING='"echo $(ls)"' or -DNOP='do { } while (0)', for example.
This is my fault. When I proposed the subprocess.call() -> os.system()
conversion, I didn't consider the -D option and that its arguments can be
nearly anything.
I think that we will be happiest long term if we go back to using the
subprocess module and requiring a 2.4+ version of Python. We'll probably
end up wanting other 2.4+ features anyway.
The attached patch reverts the subprocess.call() -> os.system() conversion.
A close review, of course, is welcome. :)
Sincerely,
Sam Bishop
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ccc-use-subprocess-module.patch
Type: application/octet-stream
Size: 1037 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080206/48fed5fc/attachment.obj>
More information about the cfe-dev
mailing list