1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

Realloc error handling memory leak fix.

This commit is contained in:
Ulrich Drepper
2001-12-29 15:57:15 +00:00
parent 9403ec5d23
commit d1dddedf78
10 changed files with 100 additions and 50 deletions

View File

@ -121,11 +121,16 @@ _dl_new_object (char *realname, const char *libname, int type,
origin = NULL;
do
{
char *new_origin;
len += 128;
origin = (char *) realloc (origin, len);
new_origin = (char *) realloc (origin, len);
if (new_origin == NULL)
/* We exit the loop. Note that result == NULL. */
break;
origin = new_origin;
}
while (origin != NULL
&& (result = __getcwd (origin, len - realname_len)) == NULL
while ((result = __getcwd (origin, len - realname_len)) == NULL
&& errno == ERANGE);
if (result == NULL)