[GHC] #8802: createProcess implictlitly escapes and quotes command line parameters
GHC
ghc-devs at haskell.org
Wed Feb 19 12:51:48 UTC 2014
#8802: createProcess implictlitly escapes and quotes command line parameters
-------------------------------------+-------------------------------------
Reporter: jstolarek | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.8.1
Component: libraries/process | Version: 7.9
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: Runtime crash
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
-------------------------------------+-------------------------------------
I've just run into severe usability issue with the `process` library. It
turns out that it performs quoting and escaping of command line
parameters. The result is that it is impossible to run many shell commands
that contain "unsafe" characters:
{{{
diff <(echo $ENV_FOO) <(echo $ENV_BAR)
awk 'NR<=10' Foo.txt
}}}
because they are turned into some nonsense. The culprit is `translate`
function in libraries/process/System/Process/Internal.hs. I'm not fixing
this myself as I assume there was some motivation behind escaping and
quoting. I'm assigning high priority as it makes impossible to create
shell processes correctly.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8802>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list