summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoriko Hosoi <nhosoi@redhat.com>2010-08-20 13:52:21 -0700
committerNoriko Hosoi <nhosoi@redhat.com>2010-08-20 13:52:21 -0700
commit958292268828fed19979ce22105f01faf04334c3 (patch)
tree28ff6fa034e6e473655b8037ce6d640dca0e80ec
parent2619204d067594cd9bf9371e95d8f9a41fbd9c42 (diff)
downloadds-958292268828fed19979ce22105f01faf04334c3.tar.gz
ds-958292268828fed19979ce22105f01faf04334c3.tar.xz
ds-958292268828fed19979ce22105f01faf04334c3.zip
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
https://bugzilla.redhat.com/show_bug.cgi?id=613056 Resolves: bug 613056 Bug description: Fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939 description: Catch possible NULL pointer in index_producer() and upgradedn_producer(). coverity ID: 11919
-rw-r--r--ldap/servers/slapd/back-ldbm/import-threads.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/ldap/servers/slapd/back-ldbm/import-threads.c b/ldap/servers/slapd/back-ldbm/import-threads.c
index 8051ee37..3f5491c9 100644
--- a/ldap/servers/slapd/back-ldbm/import-threads.c
+++ b/ldap/servers/slapd/back-ldbm/import-threads.c
@@ -931,7 +931,7 @@ index_producer(void *param)
/* get a cursor to we can walk over the table */
db_rval = db->cursor(db, NULL, &dbc, 0);
- if ( 0 != db_rval ) {
+ if ( db_rval || !dbc ) {
LDAPDebug( LDAP_DEBUG_ANY,
"Failed to get cursor for reindexing\n", 0, 0, 0 );
dblayer_release_id2entry(be, db);
@@ -1118,7 +1118,9 @@ index_producer(void *param)
return;
error:
- dbc->c_close(dbc);
+ if (dbc) {
+ dbc->c_close(dbc);
+ }
dblayer_release_aux_id2entry( be, db, env );
info->state = ABORTED;
}
@@ -1248,7 +1250,7 @@ upgradedn_producer(void *param)
/* get a cursor to we can walk over the table */
db_rval = db->cursor(db, NULL, &dbc, 0);
- if ( 0 != db_rval ) {
+ if ( db_rval || !dbc ) {
LDAPDebug( LDAP_DEBUG_ANY,
"Failed to get cursor for reindexing\n", 0, 0, 0 );
dblayer_release_id2entry(be, db);
@@ -1710,7 +1712,9 @@ bail:
goto done;
error:
- dbc->c_close(dbc);
+ if (dbc) {
+ dbc->c_close(dbc);
+ }
dblayer_release_aux_id2entry( be, db, env );
info->state = ABORTED;