svn commit: samba r18165 - in branches: SAMBA_3_0/source/libads
SAMBA_3_0_23/source/libads
gd at samba.org
gd at samba.org
Wed Sep 6 12:14:59 GMT 2006
Author: gd
Date: 2006-09-06 12:14:58 +0000 (Wed, 06 Sep 2006)
New Revision: 18165
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18165
Log:
Fix memleaks.
Guenther
Modified:
branches/SAMBA_3_0/source/libads/ldap.c
branches/SAMBA_3_0_23/source/libads/ldap.c
Changeset:
Modified: branches/SAMBA_3_0/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_0/source/libads/ldap.c 2006-09-06 12:12:42 UTC (rev 18164)
+++ branches/SAMBA_3_0/source/libads/ldap.c 2006-09-06 12:14:58 UTC (rev 18165)
@@ -2260,10 +2260,15 @@
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 @@
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;
}
Modified: branches/SAMBA_3_0_23/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_0_23/source/libads/ldap.c 2006-09-06 12:12:42 UTC (rev 18164)
+++ branches/SAMBA_3_0_23/source/libads/ldap.c 2006-09-06 12:14:58 UTC (rev 18165)
@@ -2183,10 +2183,15 @@
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;
}
@@ -2248,7 +2253,7 @@
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;
}
More information about the samba-cvs
mailing list