From 11ff70e675256b114fbde2e57fdee8a5e911af11 Mon Sep 17 00:00:00 2001 From: Ludwig Krispenz Date: Thu, 22 Feb 2018 15:14:22 +0100 Subject: [PATCH] t49573 - coverity issues - part 2 --- ldap/servers/slapd/back-ldbm/import-threads.c | 2 +- ldap/servers/slapd/backend_manager.c | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/ldap/servers/slapd/back-ldbm/import-threads.c b/ldap/servers/slapd/back-ldbm/import-threads.c index 0419865..480f061 100644 --- a/ldap/servers/slapd/back-ldbm/import-threads.c +++ b/ldap/servers/slapd/back-ldbm/import-threads.c @@ -1862,7 +1862,7 @@ upgradedn_producer(void *param) if (PL_strchr(rdnp, '\\')) { do_dn_norm = 1; } else { - while ((++rdnp <= endrdn) && (*rdnp == ' ') && (*rdnp == '\t')) + while ((++rdnp <= endrdn) && ((*rdnp == ' ') || (*rdnp == '\t'))) ; /* DN contains an RDN ="" ? */ if ((rdnp != endrdn) && ('"' == *rdnp) && ('"' == *endrdn)) { diff --git a/ldap/servers/slapd/backend_manager.c b/ldap/servers/slapd/backend_manager.c index 8ea433c..3c0f2b5 100644 --- a/ldap/servers/slapd/backend_manager.c +++ b/ldap/servers/slapd/backend_manager.c @@ -29,27 +29,29 @@ Slapi_Backend * slapi_be_new(const char *type, const char *name, int isprivate, int logchanges) { Slapi_Backend *be; - int i; /* should add some locking here to prevent concurrent access */ if (nbackends == maxbackends) { - int oldsize = maxbackends; maxbackends += BACKEND_GRAB_SIZE; backends = (Slapi_Backend **)slapi_ch_realloc((char *)backends, maxbackends * sizeof(Slapi_Backend *)); - memset(&backends[oldsize], '\0', BACKEND_GRAB_SIZE * sizeof(Slapi_Backend *)); + for (size_t i = nbackends; i < maxbackends; i++) { + backends[i] = NULL; + } } - for (i = 0; ((i < maxbackends) && (backends[i])); i++) - ; - - PR_ASSERT(i < maxbackends); be = (Slapi_Backend *)slapi_ch_calloc(1, sizeof(Slapi_Backend)); be->be_lock = slapi_new_rwlock(); be_init(be, type, name, isprivate, logchanges, defsize, deftime); - backends[i] = be; - nbackends++; + /* look for the first free slot */ + for (size_t i = 0; i < maxbackends; i++) { + if (backends[i] == NULL) { + backends[i] = be; + nbackends++; + break; + } + } slapi_log_err(SLAPI_LOG_TRACE, "slapi_be_new", "Added new backend name [%s] type [%s] nbackends [%d]\n", -- 2.9.5