From 47ae3942144cdf43f231a1f8b6b3720a427dbdeb Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 23 Apr 2003 22:06:25 +0000 Subject: Update. * nis/ypclnt.c (yp_all): Free the dom_binding object after unwinding it. --- nis/ypclnt.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'nis/ypclnt.c') diff --git a/nis/ypclnt.c b/nis/ypclnt.c index 7123f636bf..0278dcf15d 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 , 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) -- cgit v1.2.3