From 2169b620c6b84cb9b108c8f1b4d0b7cbcadd9129 Mon Sep 17 00:00:00 2001 From: наб Date: Tue, 23 May 2023 22:17:31 +0200 Subject: putenv.3: Originated in SysVr2; in 4.3BSD-Reno; fixed on modern systems MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed in: NetBSD 6 src lib/libc/stdlib/putenv.c 1.13 FreeBSD 7 putenv(3) says so OpenBSD 4.6 src lib/libc/stdlib/setenv.c 1.10 and is correct under current(?) MacOS as well The current wording implies that all of 4.4BSD's descenants also carry this bug (at least it did to me): they did until like 2009 but they're fine now Signed-off-by: Ahelenia Ziemiańska Signed-off-by: Alejandro Colomar --- man3/putenv.3 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/man3/putenv.3 b/man3/putenv.3 index 59c2ff1cf..cb80b29f9 100644 --- a/man3/putenv.3 +++ b/man3/putenv.3 @@ -83,7 +83,7 @@ T} Thread safety MT-Unsafe const:env .SH STANDARDS POSIX.1-2008. .SH HISTORY -POSIX.1-2001, SVr4, 4.3BSD. +POSIX.1-2001, SVr2, 4.3BSD-Reno. .PP The .BR putenv () @@ -119,7 +119,8 @@ a copy of the string is used. On the one hand this causes a memory leak, and on the other hand it violates SUSv2. .PP -The 4.4BSD version, like glibc 2.0, uses a copy. +The 4.3BSD-Reno version, like glibc 2.0, uses a copy; +this is fixed in all modern BSDs. .PP SUSv2 removes the \fIconst\fP from the prototype, and so does glibc 2.1.3. .PP -- cgit v1.2.3