Use an mmap()'d buffer instead of a static buffer for the contents
authormillert <millert@openbsd.org>
Tue, 21 Aug 2018 20:20:04 +0000 (20:20 +0000)
committermillert <millert@openbsd.org>
Tue, 21 Aug 2018 20:20:04 +0000 (20:20 +0000)
commite7249551233aa3f590c8efd1ed0c104637b511d3
treeeae0965029ba2f2b5280ea599e219fdd0281eca3
parentc844c4ad37ba222ab37c64cfbe4c5eb1ec73c844
Use an mmap()'d buffer instead of a static buffer for the contents
of the pointer returned by getpw{ent,nam,uid}().  We unmap the
buffer each time to catch callers using a stale passwd struct
pointer.  As a special case, we do not unmap the buffer if the
previous lookup was for the same name or uid.  This special case
may be removed in the future.  OK deraadt@
lib/libc/gen/getpwent.3
lib/libc/gen/getpwent.c
lib/libc/gen/getpwnam.3