svn commit: samba r19525 - in branches: SAMBA_3_0/source/utils SAMBA_3_0_23/source/utils SAMBA_3_0_24/source/utils

gd at samba.org gd at samba.org
Wed Nov 1 10:59:29 GMT 2006


Author: gd
Date: 2006-11-01 10:59:28 +0000 (Wed, 01 Nov 2006)
New Revision: 19525

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19525

Log:
Fix the same error in "net ads group delete".

Guenther

Modified:
   branches/SAMBA_3_0/source/utils/net_ads.c
   branches/SAMBA_3_0_23/source/utils/net_ads.c
   branches/SAMBA_3_0_24/source/utils/net_ads.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_ads.c	2006-11-01 10:38:54 UTC (rev 19524)
+++ branches/SAMBA_3_0/source/utils/net_ads.c	2006-11-01 10:59:28 UTC (rev 19525)
@@ -701,7 +701,7 @@
 {
 	ADS_STRUCT *ads;
 	ADS_STATUS rc;
-	LDAPMessage *res;
+	LDAPMessage *res = NULL;
 	char *groupdn;
 
 	if (argc < 1) {
@@ -713,8 +713,9 @@
 	}
 
 	rc = ads_find_user_acct(ads, &res, argv[0]);
-	if (!ADS_ERR_OK(rc)) {
+	if (!ADS_ERR_OK(rc) || ads_count_replies(ads, res) != 1) {
 		d_printf("Group %s does not exist.\n", argv[0]);
+		ads_msgfree(ads, res);
 		ads_destroy(&ads);
 		return -1;
 	}
@@ -722,7 +723,7 @@
 	ads_msgfree(ads, res);
 	rc = ads_del_dn(ads, groupdn);
 	ads_memfree(ads, groupdn);
-	if (!ADS_ERR_OK(rc)) {
+	if (ADS_ERR_OK(rc)) {
 		d_printf("Group %s deleted\n", argv[0]);
 		ads_destroy(&ads);
 		return 0;

Modified: branches/SAMBA_3_0_23/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_0_23/source/utils/net_ads.c	2006-11-01 10:38:54 UTC (rev 19524)
+++ branches/SAMBA_3_0_23/source/utils/net_ads.c	2006-11-01 10:59:28 UTC (rev 19525)
@@ -664,7 +664,7 @@
 {
 	ADS_STRUCT *ads;
 	ADS_STATUS rc;
-	void *res;
+	void *res = NULL;
 	char *groupdn;
 
 	if (argc < 1) {
@@ -676,8 +676,9 @@
 	}
 
 	rc = ads_find_user_acct(ads, &res, argv[0]);
-	if (!ADS_ERR_OK(rc)) {
+	if (!ADS_ERR_OK(rc) || ads_count_replies(ads, res) != 1) {
 		DEBUG(0, ("Group %s does not exist\n", argv[0]));
+		ads_msgfree(ads, res);
 		ads_destroy(&ads);
 		return -1;
 	}
@@ -685,7 +686,7 @@
 	ads_msgfree(ads, res);
 	rc = ads_del_dn(ads, groupdn);
 	ads_memfree(ads, groupdn);
-	if (!ADS_ERR_OK(rc)) {
+	if (ADS_ERR_OK(rc)) {
 		d_printf("Group %s deleted\n", argv[0]);
 		ads_destroy(&ads);
 		return 0;

Modified: branches/SAMBA_3_0_24/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_0_24/source/utils/net_ads.c	2006-11-01 10:38:54 UTC (rev 19524)
+++ branches/SAMBA_3_0_24/source/utils/net_ads.c	2006-11-01 10:59:28 UTC (rev 19525)
@@ -685,7 +685,7 @@
 {
 	ADS_STRUCT *ads;
 	ADS_STATUS rc;
-	void *res;
+	void *res = NULL;
 	char *groupdn;
 
 	if (argc < 1) {
@@ -697,8 +697,9 @@
 	}
 
 	rc = ads_find_user_acct(ads, &res, argv[0]);
-	if (!ADS_ERR_OK(rc)) {
+	if (!ADS_ERR_OK(rc) || ads_count_replies(ads, res) != 1) {
 		DEBUG(0, ("Group %s does not exist\n", argv[0]));
+		ads_msgfree(ads, res);
 		ads_destroy(&ads);
 		return -1;
 	}
@@ -706,7 +707,7 @@
 	ads_msgfree(ads, res);
 	rc = ads_del_dn(ads, groupdn);
 	ads_memfree(ads, groupdn);
-	if (!ADS_ERR_OK(rc)) {
+	if (ADS_ERR_OK(rc)) {
 		d_printf("Group %s deleted\n", argv[0]);
 		ads_destroy(&ads);
 		return 0;



More information about the samba-cvs mailing list