https://issues.dlang.org/show_bug.cgi?id=24549
Steven Schveighoffer <schvei...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |schvei...@gmail.com --- Comment #1 from Steven Schveighoffer <schvei...@gmail.com> --- The underlying issue is that `std.internal.cstring.tempCString` returns a `null` pointer if the input string is an empty string with a null pointer. This is surprising, and seems to have been done as a hack to work around issue 14980 I would not expect to get a null pointer when passing in an empty string, I'd expect an empty string. This has a seemingly "unforseen" effect on code that is accepting of a string, and blindly passes to `tempCString` for calling a C lib -- if the library function doesn't handle null pointers, or handles them differently than non-null empty strings, then it may crash or do something unexpected. The Linux `getenv` function is crashing on the null pointer (BTW, this does not happen on MacOS). --