From: Howard Chu Date: Mon, 21 Mar 2022 12:59:07 +0000 (+0000) Subject: ITS#9802 slapd-ldap/meta/async-meta: plug memleak in keepalive config X-Git-Tag: OPENLDAP_REL_ENG_2_5_12~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e9b8c04d16d72f96c01e47e1d18b92dcf5da1df2;p=thirdparty%2Fopenldap.git ITS#9802 slapd-ldap/meta/async-meta: plug memleak in keepalive config --- diff --git a/servers/slapd/back-asyncmeta/config.c b/servers/slapd/back-asyncmeta/config.c index 866fb985d4..849ac01616 100644 --- a/servers/slapd/back-asyncmeta/config.c +++ b/servers/slapd/back-asyncmeta/config.c @@ -2405,9 +2405,11 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) break; #endif /* SLAPD_META_CLIENT_PR */ - case LDAP_BACK_CFG_KEEPALIVE: - slap_keepalive_parse( ber_bvstrdup(c->argv[1]), - &mt->mt_tls.sb_keepalive, 0, 0, 0); + case LDAP_BACK_CFG_KEEPALIVE: { + struct berval bv; + ber_str2bv( c->argv[1], 0, 1, &bv ); + slap_keepalive_parse( &bv, &mt->mt_tls.sb_keepalive, 0, 0, 0 ); + } break; case LDAP_BACK_CFG_TCP_USER_TIMEOUT: diff --git a/servers/slapd/back-ldap/config.c b/servers/slapd/back-ldap/config.c index 07fe8e9f19..fb97e8ea32 100644 --- a/servers/slapd/back-ldap/config.c +++ b/servers/slapd/back-ldap/config.c @@ -2051,9 +2051,11 @@ done_url:; } break; - case LDAP_BACK_CFG_KEEPALIVE: - slap_keepalive_parse( ber_bvstrdup(c->argv[1]), - &li->li_tls.sb_keepalive, 0, 0, 0); + case LDAP_BACK_CFG_KEEPALIVE: { + struct berval bv; + ber_str2bv( c->argv[1], 0, 1, &bv ); + slap_keepalive_parse( &bv, &li->li_tls.sb_keepalive, 0, 0, 0 ); + } break; case LDAP_BACK_CFG_TCP_USER_TIMEOUT: diff --git a/servers/slapd/back-meta/config.c b/servers/slapd/back-meta/config.c index 0f876e77fe..c38dce1cfa 100644 --- a/servers/slapd/back-meta/config.c +++ b/servers/slapd/back-meta/config.c @@ -2913,9 +2913,11 @@ map_fail:; break; #endif /* SLAPD_META_CLIENT_PR */ - case LDAP_BACK_CFG_KEEPALIVE: - slap_keepalive_parse( ber_bvstrdup(c->argv[1]), - &mt->mt_tls.sb_keepalive, 0, 0, 0); + case LDAP_BACK_CFG_KEEPALIVE: { + struct berval bv; + ber_str2bv( c->argv[ 1 ], 0, 1, &bv ); + slap_keepalive_parse( &bv, &mt->mt_tls.sb_keepalive, 0, 0, 0 ); + } break; case LDAP_BACK_CFG_TCP_USER_TIMEOUT: