mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
* nis/nis_table.c (nis_list): Avoid clearing res twice before
filling it for the first time.
This commit is contained in:
parent
3e4370cf2b
commit
f2d5cf5005
@ -1,5 +1,8 @@
|
||||
2006-05-04 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* nis/nis_table.c (nis_list): Avoid clearing res twice before
|
||||
filling it for the first time.
|
||||
|
||||
* nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
|
||||
Adjust all callers.
|
||||
Free res object content before returning.
|
||||
|
@ -167,7 +167,7 @@ nis_list (const_nis_name name, unsigned int flags,
|
||||
const void *userdata),
|
||||
const void *userdata)
|
||||
{
|
||||
nis_result *res = calloc (1, sizeof (nis_result));
|
||||
nis_result *res = malloc (sizeof (nis_result));
|
||||
ib_request *ibreq;
|
||||
int status;
|
||||
enum clnt_stat clnt_status;
|
||||
@ -180,20 +180,24 @@ nis_list (const_nis_name name, unsigned int flags,
|
||||
char *tableptr;
|
||||
char *tablepath = NULL;
|
||||
int first_try = 0; /* Do we try the old binding at first ? */
|
||||
int errcode;
|
||||
|
||||
if (res == NULL)
|
||||
return NULL;
|
||||
|
||||
if (name == NULL)
|
||||
{
|
||||
errcode = NIS_BADNAME;
|
||||
err_out:
|
||||
memset (res, '\0', sizeof (nis_result));
|
||||
NIS_RES_STATUS (res) = NIS_BADNAME;
|
||||
return res;
|
||||
}
|
||||
|
||||
if ((ibreq = __create_ib_request (name, flags)) == NULL)
|
||||
{
|
||||
NIS_RES_STATUS (res) = NIS_BADNAME;
|
||||
return res;
|
||||
errcode = NIS_BADNAME;
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
if ((flags & EXPAND_NAME)
|
||||
@ -205,16 +209,16 @@ nis_list (const_nis_name name, unsigned int flags,
|
||||
if (names == NULL)
|
||||
{
|
||||
nis_free_request (ibreq);
|
||||
NIS_RES_STATUS (res) = NIS_BADNAME;
|
||||
return res;
|
||||
errcode = NIS_BADNAME;
|
||||
goto err_out;
|
||||
}
|
||||
ibreq->ibr_name = strdup (names[name_nr]);
|
||||
if (ibreq->ibr_name == NULL)
|
||||
{
|
||||
nis_freenames (names);
|
||||
nis_free_request (ibreq);
|
||||
NIS_RES_STATUS (res) = NIS_NOMEMORY;
|
||||
return res;
|
||||
errcode = NIS_NOMEMORY;
|
||||
goto err_out;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user