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);
Show replies by date