From 602e9ef126808491be5d33d9c4faa9c86e63730a Mon Sep 17 00:00:00 2001 From: Noriko Hosoi Date: Sun, 25 Jan 2015 22:05:12 -0800 Subject: [PATCH] Ticket 47988: Schema learning mechanism, in replication, unable to extend an existing definition Description: Covscan FORWARD_NULL fix introduced by commit commit 51e05df9c37c66206041f026c9a67ec17bc9ea4a 1. ldap/servers/slapd/schema.c:2490: var_deref_op: Dereferencing null pointer "mod->mod_vals.modv_bvals". 2. ldap/servers/slapd/schema.c:2603: var_deref_op: Dereferencing null pointer "mod->mod_vals.modv_bvals". Added NULL check on mod->mod_bvalues to the for loop stop condition. (cherry picked from commit cfa8e4daef9253df0bd8a348f302299bda16b37c) (cherry picked from commit 1e2bf2b1ee6cd4c08a171edfedb10ee6bb1c3420) --- ldap/servers/slapd/schema.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ldap/servers/slapd/schema.c b/ldap/servers/slapd/schema.c index 05329a6..a251aa7 100644 --- a/ldap/servers/slapd/schema.c +++ b/ldap/servers/slapd/schema.c @@ -2487,7 +2487,7 @@ schema_delete_objectclasses( Slapi_Entry *entryBefore, LDAPMod *mod, } } - for (i = 0; mod->mod_bvalues[i]; i++) { + for (i = 0; mod->mod_bvalues && mod->mod_bvalues[i]; i++) { if ( LDAP_SUCCESS != ( rc = parse_oc_str ( (const char *)mod->mod_bvalues[i]->bv_val, &delete_oc, errorbuf, errorbufsize, 0, 0, schema_ds4x_compat, NULL))) { @@ -2600,7 +2600,7 @@ schema_delete_attributes ( Slapi_Entry *entryBefore, LDAPMod *mod, } } - for (i = 0; mod->mod_bvalues[i]; i++) { + for (i = 0; mod->mod_bvalues && mod->mod_bvalues[i]; i++) { attr_ldif =(char *) mod->mod_bvalues[i]->bv_val; /* normalize the attr ldif */ -- 1.9.3