[Fedora-directory-commits] ldapserver/ldap/servers/plugins/memberof memberof.c, 1.12, 1.13

Nathan Kinder (nkinder) fedora-directory-commits at redhat.com
Fri Jul 18 18:11:32 UTC 2008


Author: nkinder

Update of /cvs/dirsec/ldapserver/ldap/servers/plugins/memberof
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29995/plugins/memberof

Modified Files:
	memberof.c 
Log Message:
Resolves: 455913
Summary: Don't use Slapi_Mod on the stack.



Index: memberof.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/memberof/memberof.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- memberof.c	8 Jul 2008 19:59:39 -0000	1.12
+++ memberof.c	18 Jul 2008 18:11:30 -0000	1.13
@@ -2115,24 +2115,25 @@
 	{
 		Slapi_PBlock *mod_pb = slapi_pblock_new();
 		Slapi_Value *val = 0;
-		Slapi_Mod smod;
+		Slapi_Mod *smod;
 		LDAPMod **mods = (LDAPMod **) slapi_ch_malloc(2 * sizeof(LDAPMod *));
 		int hint = 0;
 
-		slapi_mod_init(&smod, 0);
-		slapi_mod_set_operation(&smod, LDAP_MOD_REPLACE | LDAP_MOD_BVALUES);
-		slapi_mod_set_type(&smod, config->memberof_attr);
+		smod = slapi_mod_new();
+		slapi_mod_init(smod, 0);
+		slapi_mod_set_operation(smod, LDAP_MOD_REPLACE | LDAP_MOD_BVALUES);
+		slapi_mod_set_type(smod, config->memberof_attr);
 
 		/* Loop through all of our values and add them to smod */
 		hint = slapi_valueset_first_value(groups, &val);
 		while (val)
 		{
 			/* this makes a copy of the berval */
-			slapi_mod_add_value(&smod, slapi_value_get_berval(val));
+			slapi_mod_add_value(smod, slapi_value_get_berval(val));
 			hint = slapi_valueset_next_value(groups, hint, &val);
 		}
 		
-		mods[0] = slapi_mod_get_ldapmod_passout(&smod);
+		mods[0] = slapi_mod_get_ldapmod_passout(smod);
 		mods[1] = 0;
 
 		slapi_modify_internal_set_pb(
@@ -2144,7 +2145,7 @@
 		slapi_pblock_get(mod_pb, SLAPI_PLUGIN_INTOP_RESULT, &rc);
 
 		ldap_mods_free(mods, 1);
-		slapi_mod_done(&smod);
+		slapi_mod_free(&smod);
 		slapi_pblock_destroy(mod_pb);
 	} else { 
 		/* No groups were found, so remove the memberOf attribute




More information about the Fedora-directory-commits mailing list