* stdlib/setenv.c (__add_to_environ):

Dump core quickly if setenv (..., NULL, ...) is called.
This commit is contained in:
Paul Eggert 2015-03-12 15:57:07 -07:00
parent cdaf79d0af
commit 2ecccaede9
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-03-13 Paul Eggert <eggert@cs.ucla.edu>
* stdlib/setenv.c (__add_to_environ):
Dump core quickly if setenv (..., NULL, ...) is called.
2015-03-13 Roland McGrath <roland@hack.frob.com>
* sysdeps/arm/tls-macros.h: Include <sysdep.h>.

View File

@ -114,8 +114,16 @@ __add_to_environ (name, value, combined, replace)
{
char **ep;
size_t size;
/* Compute lengths before locking, so that the critical section is
less of a performance bottleneck. VALLEN is needed only if
COMBINED is non-null. Also, testing COMBINED instead of VALUE
causes setenv (..., NULL, ...) to dump core now instead of
corrupting memory later. */
const size_t namelen = strlen (name);
const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
size_t vallen;
if (combined != NULL)
vallen = strlen (value) + 1;
LOCK;