summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2010-07-01 23:12:02 -0500
committerNoriko Hosoi <nhosoi@redhat.com>2010-08-23 11:01:57 -0700
commit6c9d2fafeded8aceb0f9fcfae4420c3754609c65 (patch)
tree0a7cfa8f9916f14c35c206ecb536ed21e8d4f570
parent9e9b9024db9a306141c44417ce907f2d23440b86 (diff)
downloadds-6c9d2fafeded8aceb0f9fcfae4420c3754609c65.tar.gz
ds-6c9d2fafeded8aceb0f9fcfae4420c3754609c65.tar.xz
ds-6c9d2fafeded8aceb0f9fcfae4420c3754609c65.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 dblayer_copy_file_keybykey() and dblayer_copy_file_resetlsns().
-rw-r--r--ldap/servers/slapd/back-ldbm/dbhelp.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/ldap/servers/slapd/back-ldbm/dbhelp.c b/ldap/servers/slapd/back-ldbm/dbhelp.c
index 36e8dd04..f1f232a4 100644
--- a/ldap/servers/slapd/back-ldbm/dbhelp.c
+++ b/ldap/servers/slapd/back-ldbm/dbhelp.c
@@ -63,11 +63,17 @@ static int dblayer_copy_file_keybykey(DB_ENV *env, char *source_file_name, char
int finished = 0;
int mode = 0;
+ LDAPDebug( LDAP_DEBUG_TRACE, "=> dblayer_copy_file_keybykey\n", 0, 0, 0 );
+
if (priv->dblayer_file_mode)
mode = priv->dblayer_file_mode;
dblayer_set_env_debugging(env, priv);
- LDAPDebug( LDAP_DEBUG_TRACE, "=> dblayer_copy_file_keybykey\n", 0, 0, 0 );
+ if (!env) {
+ LDAPDebug(LDAP_DEBUG_ANY, "dblayer_copy_file_keybykey, Out of memory\n", 0, 0, 0);
+ goto error;
+ }
+
/* Open the source file */
retval = db_create(&source_file, env, 0);
if (retval) {
@@ -193,15 +199,17 @@ int dblayer_copy_file_resetlsns(char *home_dir ,char *source_file_name, char *de
/* Make the environment */
retval = dblayer_make_private_simple_env(home_dir,&env);
- if (retval) {
+ if (retval || !env) {
LDAPDebug(LDAP_DEBUG_ANY, "dblayer_copy_file_resetlsns: Call to dblayer_make_private_simple_env failed!\n"
"Unable to open an environment.", 0, 0, 0);
+ goto out;
}
/* Do the copy */
retval = dblayer_copy_file_keybykey(env, source_file_name, destination_file_name, overwrite, priv);
if (retval) {
LDAPDebug(LDAP_DEBUG_ANY, "dblayer_copy_file_resetlsns: Copy not completed successfully.", 0, 0, 0);
}
+out:
/* Close the environment */
if (env) {
int retval2 = 0;