diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-04-23 22:06:25 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-04-23 22:06:25 +0000 |
commit | 47ae3942144cdf43f231a1f8b6b3720a427dbdeb (patch) | |
tree | 5dbe5ba4f09b38cc1448238f07a5a2167ae136f7 /nis/ypclnt.c | |
parent | b9b9a51e4911b17e75b39fd3db9f7268e233ce20 (diff) | |
download | glibc-47ae3942144cdf43f231a1f8b6b3720a427dbdeb.zip glibc-47ae3942144cdf43f231a1f8b6b3720a427dbdeb.tar.gz glibc-47ae3942144cdf43f231a1f8b6b3720a427dbdeb.tar.bz2 |
Update.
* nis/ypclnt.c (yp_all): Free the dom_binding object after
unwinding it.
Diffstat (limited to 'nis/ypclnt.c')
-rw-r--r-- | nis/ypclnt.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/nis/ypclnt.c b/nis/ypclnt.c index 7123f63..0278dcf 100644 --- a/nis/ypclnt.c +++ b/nis/ypclnt.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. @@ -205,10 +205,15 @@ __yp_bind (const char *domain, dom_binding **ypdb) return YPERR_YPSERV; } - if (is_new && ypdb != NULL) + if (is_new) { - ysd->dom_pnext = *ypdb; - *ypdb = ysd; + if (ypdb != NULL) + { + ysd->dom_pnext = *ypdb; + *ypdb = ysd; + } + else + free (ysd); } return YPERR_SUCCESS; @@ -710,6 +715,8 @@ yp_all (const char *indomain, const char *inmap, /* We don't need the UDP connection anymore. */ __yp_unbind (ydb); + free (ydb); + ydb = NULL; clnt = clnttcp_create (&clnt_sin, YPPROG, YPVERS, &clnt_sock, 0, 0); if (clnt == NULL) |