summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2010-07-01 23:25:26 -0500
committerNoriko Hosoi <nhosoi@redhat.com>2010-08-23 11:02:11 -0700
commitba8134132fe2d9ed62b990c781b51beff680ada2 (patch)
treed6ae84c4d25d5ed9c9a71822f161447adb9f304a
parent6cb43822edfdb5260ce63c5d056f1b00112aa546 (diff)
downloadds-ba8134132fe2d9ed62b990c781b51beff680ada2.tar.gz
ds-ba8134132fe2d9ed62b990c781b51beff680ada2.tar.xz
ds-ba8134132fe2d9ed62b990c781b51beff680ada2.zip
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
https://bugzilla.redhat.com/show_bug.cgi?id=610119 Resolves: bug 610119 Bug description: Fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199 Fix description: Catch possible NULL pointer in import_producer(), upgradedn_producer(), bulk_import_queue(), and dse_conf_backup_core().
-rw-r--r--ldap/servers/slapd/back-ldbm/import-threads.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/ldap/servers/slapd/back-ldbm/import-threads.c b/ldap/servers/slapd/back-ldbm/import-threads.c
index 3f5491c9..8ea64774 100644
--- a/ldap/servers/slapd/back-ldbm/import-threads.c
+++ b/ldap/servers/slapd/back-ldbm/import-threads.c
@@ -646,7 +646,7 @@ import_producer(void *param)
}
ep = import_make_backentry(e, id);
- if (!ep)
+ if (!ep || !ep->ep_entry)
goto error;
/* check for include/exclude subtree lists */
@@ -1606,7 +1606,7 @@ upgradedn_producer(void *param)
}
ep = import_make_backentry(e, temp_id);
- if (!ep) {
+ if (!ep || !ep->ep_entry) {
slapi_entry_free(e); e = NULL;
goto error;
}
@@ -2725,7 +2725,7 @@ static int bulk_import_queue(ImportJob *job, Slapi_Entry *entry)
/* make into backentry */
ep = import_make_backentry(entry, id);
- if (!ep) {
+ if (!ep || !ep->ep_entry) {
import_abort_all(job, 1);
PR_Unlock(job->wire_lock);
return -1;
@@ -2965,6 +2965,14 @@ dse_conf_backup_core(struct ldbminfo *li, char *dest_dir, char *file_name, char
}
srch_pb = slapi_pblock_new();
+ if (!srch_pb) {
+ LDAPDebug(LDAP_DEBUG_ANY,
+ "dse_conf_backup(%s): out of memory\n",
+ filter, 0, 0);
+ rval = -1;
+ goto out;
+ }
+
slapi_search_internal_set_pb(srch_pb, li->li_plugin->plg_dn,
LDAP_SCOPE_SUBTREE, filter, NULL, 0, NULL, NULL, li->li_identity, 0);
slapi_search_internal_pb(srch_pb);
@@ -3049,9 +3057,9 @@ dse_conf_backup_core(struct ldbminfo *li, char *dest_dir, char *file_name, char
}
out:
- slapi_free_search_results_internal(srch_pb);
if (srch_pb)
{
+ slapi_free_search_results_internal(srch_pb);
slapi_pblock_destroy(srch_pb);
}