From 73d25f6f784513aa850de4a7207a1436289c107c Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 6 Sep 2006 12:14:58 +0000 Subject: r18165: Fix memleaks. Guenther (This used to be commit 6f301b2dc3dd64b4396e1d0307b3d539bda67d45) --- source3/libads/ldap.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 6c3ab75340..0b7ca46e3e 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -2260,10 +2260,15 @@ ADS_STATUS ads_USN(ADS_STRUCT *ads, uint32 *usn) return status; if (ads_count_replies(ads, res) != 1) { + ads_msgfree(ads, res); return ADS_ERROR(LDAP_NO_RESULTS_RETURNED); } - ads_pull_uint32(ads, res, "highestCommittedUSN", usn); + if (!ads_pull_uint32(ads, res, "highestCommittedUSN", usn)) { + ads_msgfree(ads, res); + return ADS_ERROR(LDAP_NO_SUCH_ATTRIBUTE); + } + ads_msgfree(ads, res); return ADS_SUCCESS; } @@ -2325,7 +2330,7 @@ ADS_STATUS ads_current_time(ADS_STRUCT *ads) timestr = ads_pull_string(ads_s, ctx, res, "currentTime"); if (!timestr) { - ads_msgfree(ads, res); + ads_msgfree(ads_s, res); status = ADS_ERROR(LDAP_NO_RESULTS_RETURNED); goto done; } -- cgit