News for hackers. Stuff that matters.
Re:Getaddrinfo() on glibc calls getenv(), oh boy by tjfontaine on Tuesday October 17, 2023 @12:45AM (#37910731)
In my experience, because it is documented that’s the behavior I would expect.

That being said, I went to look[0] and it turns out it wasn’t a lie. [0]https://github.com/illumos/illumos-gate/blob/master/usr/src/...

Re:Getaddrinfo() on glibc calls getenv(), oh boy by hddqsb on Tuesday October 17, 2023 @05:36AM (#37912534)
For the curious: They make getenv() thread-safe by intentionally leaking the old environment, which they argue is acceptable because the memory leak is bounded to 3x the space actually needed.

The getenv/setenv/putenv/environ API looks terrible on closer inspection -- it does not appear possible for an implementation to be safe, leak-free, and efficient.

Re:Getaddrinfo() on glibc calls getenv(), oh boy by o11c on Tuesday October 17, 2023 @11:35AM (#37916786)
Just because they use locks doesn't mean it's automatically actually thread-safe.

The comment about "this is safe for people walking `environ`" is definitely a lie, for example, though the bug might be hidden on some common architectures with popular compilers in their default configuration.