summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2001-12-10 06:03:15 +0000
committerTim Potter <tpot@samba.org>2001-12-10 06:03:15 +0000
commitf4ec10cde644ce23a89bfd5b4dd6ea0d86fdb6b2 (patch)
tree5301fcb89f6be1233fe28440db2e3162e633afae
parente5a7c96a7a77f010c1a6c1aa8682dc9877146252 (diff)
downloadsamba-f4ec10cde644ce23a89bfd5b4dd6ea0d86fdb6b2.tar.gz
samba-f4ec10cde644ce23a89bfd5b4dd6ea0d86fdb6b2.tar.xz
samba-f4ec10cde644ce23a89bfd5b4dd6ea0d86fdb6b2.zip
Fix memory leaks in enumerating groups with wbinfo -g
-rw-r--r--source/nsswitch/winbindd_group.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/nsswitch/winbindd_group.c b/source/nsswitch/winbindd_group.c
index 7b08fa1ad56..94951e59ab6 100644
--- a/source/nsswitch/winbindd_group.c
+++ b/source/nsswitch/winbindd_group.c
@@ -805,6 +805,8 @@ enum winbindd_result winbindd_list_groups(struct winbindd_cli_state *state)
num_domain_entries += groups.num_sam_entries;
memcpy (sam_entries+offset, groups.sam_entries,
sizeof(struct acct_info) * groups.num_sam_entries);
+
+ free(groups.sam_entries);
groups.sam_entries = NULL;
groups.num_sam_entries = 0;
@@ -860,6 +862,11 @@ enum winbindd_result winbindd_list_groups(struct winbindd_cli_state *state)
}
}
+ /* Free group data */
+
+ if (groups.sam_entries)
+ free(groups.sam_entries);
+
/* Assign extra_data fields in response structure */
if (extra_data) {