haskell / process

Library for dealing with system processes
http://hackage.haskell.org/package/process
Other
87 stars 82 forks source link

Posix: Do not treat arguments as `FilePath` #320

Closed mmhat closed 3 months ago

mmhat commented 5 months ago

Fixes #319

tomjaguarpaw commented 4 months ago

This looks pretty plausible to me, but I'm not an expert with the low level details. There are various people who are better qualified. Perhaps one of them can chime in.

@bgamari @hasufell @snoyberg @Mistuke (or someone else?)

hasufell commented 4 months ago

There are two differences:

  1. withFilePath uses getFileSystemEncoding, withCString uses getForeignEncoding
  2. withFilePath checks for interior nulls now (not sure since which base version) and barfs out in case it finds any

Tbh, all of those s*ck. But that's another discussion: https://github.com/haskell/process/issues/252

mmhat commented 3 months ago
  1. withFilePath checks for interior nulls now (not sure since which base version) and barfs out in case it finds any

I think it is since base-4.18.0.0 (GHC 9.6.1).

If there are no further objections: Who is willing to merge this?

tomjaguarpaw commented 3 months ago

OK, released as https://hackage.haskell.org/package/process-1.6.22.0. Thanks @mmhat!