mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* stdlib/setenv.c (__add_to_environ):
Dump core quickly if setenv (..., NULL, ...) is called.
This commit is contained in:
@ -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>
|
2015-03-13 Roland McGrath <roland@hack.frob.com>
|
||||||
|
|
||||||
* sysdeps/arm/tls-macros.h: Include <sysdep.h>.
|
* sysdeps/arm/tls-macros.h: Include <sysdep.h>.
|
||||||
|
@ -114,8 +114,16 @@ __add_to_environ (name, value, combined, replace)
|
|||||||
{
|
{
|
||||||
char **ep;
|
char **ep;
|
||||||
size_t size;
|
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 namelen = strlen (name);
|
||||||
const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
|
size_t vallen;
|
||||||
|
if (combined != NULL)
|
||||||
|
vallen = strlen (value) + 1;
|
||||||
|
|
||||||
LOCK;
|
LOCK;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user