mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
s3-libads: Do not leak the msg on error
ldap_search_ext_s manpage states: Note that res parameter of ldap_search_ext_s should be freed with ldap_msgfree() regardless of return value of these functions. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Wed Mar 8 14:59:35 CET 2017 on sn-devel-144
This commit is contained in:
parent
e015748657
commit
980eae07f9
@ -1036,6 +1036,11 @@ done:
|
|||||||
ber_bvfree(ext_bv);
|
ber_bvfree(ext_bv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rc != LDAP_SUCCESS && *res != NULL) {
|
||||||
|
ads_msgfree(ads, *res);
|
||||||
|
*res = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* if/when we decide to utf8-encode attrs, take out this next line */
|
/* if/when we decide to utf8-encode attrs, take out this next line */
|
||||||
TALLOC_FREE(search_attrs);
|
TALLOC_FREE(search_attrs);
|
||||||
|
|
||||||
@ -1086,9 +1091,6 @@ static ADS_STATUS ads_do_paged_search(ADS_STRUCT *ads, const char *bind_path,
|
|||||||
status = ads_do_paged_search_args(ads, bind_path, scope, expr,
|
status = ads_do_paged_search_args(ads, bind_path, scope, expr,
|
||||||
attrs, args, &res2, &count, &cookie);
|
attrs, args, &res2, &count, &cookie);
|
||||||
if (!ADS_ERR_OK(status)) {
|
if (!ADS_ERR_OK(status)) {
|
||||||
/* Ensure we free all collected results */
|
|
||||||
ads_msgfree(ads, *res);
|
|
||||||
*res = NULL;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user