From a42efb497153dcca1fad227e28f5eaf41ee943c3 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Wed, 3 Oct 2001 21:10:29 +0000 Subject: fix some possible memleaks and not tested reallocs spotted by Andreas Moroder (This used to be commit d30939a091b48f4d77f7618c75668ae151a5592e) --- source3/nsswitch/winbindd_group.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'source3/nsswitch/winbindd_group.c') diff --git a/source3/nsswitch/winbindd_group.c b/source3/nsswitch/winbindd_group.c index 2b567f1336..ab693eff63 100644 --- a/source3/nsswitch/winbindd_group.c +++ b/source3/nsswitch/winbindd_group.c @@ -467,7 +467,7 @@ static BOOL get_sam_group_entries(struct getent_state *ent) { NTSTATUS status; uint32 num_entries; - struct acct_info *name_list = NULL; + struct acct_info *name_list = NULL, *tnl; if (ent->got_all_sam_entries) { return False; @@ -510,10 +510,17 @@ static BOOL get_sam_group_entries(struct getent_state *ent) if (num_entries) { - name_list = Realloc(name_list, - sizeof(struct acct_info) * - (ent->num_sam_entries + - num_entries)); + tnl = Realloc(name_list, + sizeof(struct acct_info) * + (ent->num_sam_entries + + num_entries)); + if(tnl == NULL) + { + DEBUG(0,("get_sam_group_entries: unable ro realloc a structure!\n")); + SAFE_FREE(name_list); + return False; + } + else name_list = tnl; memcpy(&name_list[ent->num_sam_entries], sam_grp_entries, -- cgit