diff options
author | Tim Potter <tpot@samba.org> | 2001-12-10 06:03:15 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2001-12-10 06:03:15 +0000 |
commit | f4ec10cde644ce23a89bfd5b4dd6ea0d86fdb6b2 (patch) | |
tree | 5301fcb89f6be1233fe28440db2e3162e633afae | |
parent | e5a7c96a7a77f010c1a6c1aa8682dc9877146252 (diff) | |
download | samba-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.c | 7 |
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) { |