From 843ede44f78a91de84613f7581efadb13dbc6d25 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 14 May 1999 23:38:21 +0000 Subject: Update. 1999-05-14 Ulrich Drepper * nis/nis_getservlist.c (nis_getservlist): Use malloc instead of calloc. * nis/nis_checkpoint.c (nis_checkpoint): Fix memory leaks. * nis/nis_addmember.c (nis_addmember): Fix memory leak. Test memory allocation results. --- nis/nis_getservlist.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'nis/nis_getservlist.c') diff --git a/nis/nis_getservlist.c b/nis/nis_getservlist.c index f88c156f89..a6f43f880d 100644 --- a/nis/nis_getservlist.c +++ b/nis/nis_getservlist.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk , 1997. @@ -37,7 +37,7 @@ nis_getservlist (const_nis_name dir) nis_server *server; serv = - calloc (1, sizeof (nis_server *) * + malloc (sizeof (nis_server *) * (NIS_RES_OBJECT (res)->DI_data.do_servers.do_servers_len + 1)); if (serv == NULL) return NULL; @@ -53,10 +53,13 @@ nis_getservlist (const_nis_name dir) serv[i]->ep.ep_len = server->ep.ep_len; if (serv[i]->ep.ep_len > 0) { - unsigned long j; + unsigned long int j; serv[i]->ep.ep_val = malloc (server->ep.ep_len * sizeof (endpoint)); + if (serv[i]->ep.ep_val == NULL) + return NULL; + for (j = 0; j < serv[i]->ep.ep_len; ++j) { if (server->ep.ep_val[j].uaddr) @@ -92,6 +95,9 @@ nis_getservlist (const_nis_name dir) else serv[i]->pkey.n_bytes = NULL; } + serv[i] = NULL; + + nis_freeresult (res); } else { -- cgit v1.2.3