* nis/nis_table.c: Fix realloc handling.

* nis/nis_removemember.c: Likewise.
This commit is contained in:
Ulrich Drepper 2005-04-29 09:19:34 +00:00
parent da4b5d7cdf
commit 458901c61e
3 changed files with 17 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2005-04-29 Ulrich Drepper <drepper@redhat.com>
* nis/nis_table.c: Fix realloc handling.
* nis/nis_removemember.c: Likewise.
2005-04-28 Ulrich Drepper <drepper@redhat.com> 2005-04-28 Ulrich Drepper <drepper@redhat.com>
[BZ #798] [BZ #798]

View File

@ -1,4 +1,4 @@
/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc. /* Copyright (c) 1997, 1998, 1999, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
@ -92,9 +92,13 @@ nis_removemember (const_nis_name member, const_nis_name group)
/* This realloc() call always decreases the size. This cannot /* This realloc() call always decreases the size. This cannot
fail. We still have the test but do not recover memory fail. We still have the test but do not recover memory
(i.e., we overwrite the input pointer). */ (i.e., we overwrite the input pointer). */
newmem = realloc (newmem, k * sizeof (char*)); nis_name *newp = realloc (newmem, k * sizeof (char*));
if (newmem == NULL) if (newp == NULL)
return NIS_NOMEMORY; {
free (newmem);
return NIS_NOMEMORY;
}
newmem = newp;
NIS_RES_OBJECT (res)->GR_data.gr_members.gr_members_val = newmem; NIS_RES_OBJECT (res)->GR_data.gr_members.gr_members_val = newmem;
NIS_RES_OBJECT (res)->GR_data.gr_members.gr_members_len = k; NIS_RES_OBJECT (res)->GR_data.gr_members.gr_members_len = k;

View File

@ -1,4 +1,4 @@
/* Copyright (c) 1997, 1998, 1999, 2003, 2004 Free Software Foundation, Inc. /* Copyright (c) 1997,1998,1999,2003,2004,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
@ -94,9 +94,10 @@ __create_ib_request (const_nis_name name, unsigned int flags)
if ((search_len + 1) >= size) if ((search_len + 1) >= size)
{ {
size += 1; size += 1;
search_val = realloc (search_val, size * sizeof (nis_attr)); nis_attr *newp = realloc (search_val, size * sizeof (nis_attr));
if (search_val == NULL) if (newp == NULL)
goto free_null; goto free_null;
search_val = newp;
} }
search_val[search_len].zattr_ndx = strdup (key); search_val[search_len].zattr_ndx = strdup (key);
if ((search_val[search_len].zattr_ndx) == NULL) if ((search_val[search_len].zattr_ndx) == NULL)