diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 0868ea6d41602c7c0dd81199215d3159836cf5e6..468c5ac9070888fd02fa3eed26c2c9e2fe3d3635 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -2957,9 +2957,9 @@ config_suffix(ConfigArgs *c) if(tbe == c->be) { Debug( LDAP_DEBUG_ANY, "%s: suffix already served by this backend!.\n", c->log, 0, 0); - return 1; free(pdn.bv_val); free(ndn.bv_val); + return 1; } else if(tbe) { BackendDB *b2 = tbe; diff --git a/servers/slapd/config.c b/servers/slapd/config.c index 9c6c9c3c1f827bca44b8b58efa816577f93d8995..8c95822d4eb09bbbad4bbf2557724ad2c6206433 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -1353,9 +1353,8 @@ slap_keepalive_parse( s = ++next; } - if ( s == '\0' ) { + if ( *s == '\0' ) { sk2.sk_interval = 0; - s++; } else { sk2.sk_interval = strtol( s, &next, 10 ); diff --git a/servers/slapd/controls.c b/servers/slapd/controls.c index 71f6abbb10d2a40a964e9d78d1e7e011c7a82f75..8159cacda0fee2110de2bb3d34042c69d41261e4 100644 --- a/servers/slapd/controls.c +++ b/servers/slapd/controls.c @@ -304,6 +304,7 @@ register_supported_control2(const char *controloid, if ( sc == NULL ) { sc = (struct slap_control *)SLAP_MALLOC( sizeof( *sc ) ); if ( sc == NULL ) { + ber_bvarray_free( extendedopsbv ); return LDAP_NO_MEMORY; } diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 5539bcf1ca1fc4939dacaea8ccc2a8f74c4a8b0e..f7325e0497223074345624267646c70eeeb09dcd 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -1378,7 +1378,10 @@ slap_open_listener( #endif /* LDAP_PF_LOCAL || SLAP_X_LISTENER_MOD */ ldap_free_urldesc( lud ); - if ( err ) return -1; + if ( err ) { + slap_free_listener_addresses(sal); + return -1; + } /* If we got more than one address returned, we need to make space * for it in the slap_listeners array. diff --git a/servers/slapd/modify.c b/servers/slapd/modify.c index 8958a581dee382a9c235640d650c1cdcfc5e300e..08b7da8209f96fded5c8db9e00e33c8be0d8b28e 100644 --- a/servers/slapd/modify.c +++ b/servers/slapd/modify.c @@ -747,7 +747,6 @@ slap_sort_vals( if ( match == 0 ) goto done; } if ( jstack == 0 ) break; - if ( match == 0 ) break; ir = istack[jstack--]; l = istack[jstack--]; } else {