[Fedora-directory-commits] ldapserver/ldap/servers/plugins/statechange statechange.c, 1.5, 1.5.2.1

Noriko Hosoi (nhosoi) fedora-directory-commits at redhat.com
Fri Dec 21 00:03:48 UTC 2007


Author: nhosoi

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

Modified Files:
      Tag: Directory71RtmBranch
	statechange.c 
Log Message:
Resolves: #297221
Summary: rhds71 Malformed Dynamic Authorization Group makes Directory Server Crash
Note: applying the fixes in HEAD to Directory71RtmBranch



Index: statechange.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/statechange/statechange.c,v
retrieving revision 1.5
retrieving revision 1.5.2.1
diff -u -r1.5 -r1.5.2.1
--- statechange.c	19 Apr 2005 22:07:35 -0000	1.5
+++ statechange.c	21 Dec 2007 00:03:46 -0000	1.5.2.1
@@ -326,7 +326,20 @@
 			item->dn = 0;
 		item->filter = slapi_ch_strdup(filter);
 		item->caller_data = caller_data;
-		item->realfilter = slapi_str2filter(writable_filter);
+		if (writable_filter &&
+			(NULL == (item->realfilter = slapi_str2filter(writable_filter)))) {
+			slapi_log_error(SLAPI_LOG_FATAL, SCN_PLUGIN_SUBSYSTEM,
+							"Error: invalid filter in statechange entry [%s]: [%s]\n",
+							dn, filter);
+			slapi_ch_free_string(&item->caller_id);
+			slapi_ch_free_string(&item->dn);
+			slapi_ch_free_string(&item->filter);
+			slapi_ch_free_string(&writable_filter);
+			slapi_ch_free((void **)&item);
+			return -1;
+		} else if (!writable_filter) {
+			item->realfilter = NULL;
+		}
 		item->func = func;
 
 		slapi_lock_mutex(buffer_lock);




More information about the Fedora-directory-commits mailing list