[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