From b8fa0a00375db306292691b8c1f3a4a897ce57bd Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Thu, 13 Mar 2014 15:43:28 -0400 Subject: [PATCH 187/225] Ticket 47740 - Fix coverity issues: null deferences - Part 6 12474 - Null pointer dereference - ldap/servers/slapd/tools/migratecred.c 12473 - Null pointer dereference - ldap/srevers/slapd/snmp/main.c 12468 - Null pointer dereference - ldap/servers/plugins/memberof/memberof.c https://fedorahosted.org/389/ticket/47740 Reviewed by: rmeggins(Thanks!) (cherry picked from commit d39807865d63244236ef2dcbd36d74ae857419a3) (cherry picked from commit 0d6db17d8c9a23a9792eb76d49257845baa24b2c) --- ldap/servers/plugins/memberof/memberof.c | 2 +- ldap/servers/slapd/tools/migratecred.c | 2 +- ldap/servers/snmp/main.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c index d11983b..49e0d7a 100644 --- a/ldap/servers/plugins/memberof/memberof.c +++ b/ldap/servers/plugins/memberof/memberof.c @@ -977,7 +977,7 @@ int memberof_postop_add(Slapi_PBlock *pb) memberof_lock(); - for (i = 0; configCopy.groupattrs[i]; i++) + for (i = 0; configCopy.groupattrs && configCopy.groupattrs[i]; i++) { if(0 == slapi_entry_attr_find(e, configCopy.groupattrs[i], &attr)) { diff --git a/ldap/servers/slapd/tools/migratecred.c b/ldap/servers/slapd/tools/migratecred.c index 83f2667..085a21a 100644 --- a/ldap/servers/slapd/tools/migratecred.c +++ b/ldap/servers/slapd/tools/migratecred.c @@ -137,7 +137,7 @@ main( int argc, char **argv) /* cred has the prefix, remove it before decoding */ prefixCred = strdup(optarg); - if ((*prefixCred == PWD_HASH_PREFIX_START) && + if (prefixCred && (*prefixCred == PWD_HASH_PREFIX_START) && ((end = strchr(prefixCred, PWD_HASH_PREFIX_END)) != NULL) && ((namelen = end - prefixCred - 1 ) <= (3*PWD_MAX_NAME_LEN)) ) { diff --git a/ldap/servers/snmp/main.c b/ldap/servers/snmp/main.c index 78d4814..d6b0427 100644 --- a/ldap/servers/snmp/main.c +++ b/ldap/servers/snmp/main.c @@ -445,8 +445,8 @@ load_config(char *conf_path) got_port = 1; } else if (strcmp(attr, "nsslapd-rundir") == 0) { /* 8 = "/" + ".stats" + \0 */ - serv_p->stats_file = malloc(vlen + strlen(instancename) + 8); - if (serv_p->stats_file != NULL) { + serv_p->stats_file = malloc(vlen + (instancename ? strlen(instancename) : 0) + 8); + if (serv_p->stats_file && instancename) { snprintf(serv_p->stats_file, vlen + strlen(instancename) + 8, "%s/%s.stats", val, instancename); serv_p->stats_file[(vlen + strlen(instancename) + 7)] = (char)0; -- 1.8.1.4