openldap/backport-ITS-9802-slapd-ldap-meta-async-meta-plug-memleak-in-.patch
2022-11-08 13:51:53 +00:00

73 lines
2.3 KiB
Diff

From f0a6465f2369696f02dbf2453a6a50089b1558a5 Mon Sep 17 00:00:00 2001
From: Howard Chu <hyc@openldap.org>
Date: Mon, 21 Mar 2022 12:59:07 +0000
Subject: [PATCH] ITS#9802 slapd-ldap/meta/async-meta: plug memleak in
keepalive config
---
servers/slapd/back-asyncmeta/config.c | 8 +++++---
servers/slapd/back-ldap/config.c | 8 +++++---
servers/slapd/back-meta/config.c | 8 +++++---
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/servers/slapd/back-asyncmeta/config.c b/servers/slapd/back-asyncmeta/config.c
index 69f134b2b..e4cc5eab7 100644
--- a/servers/slapd/back-asyncmeta/config.c
+++ b/servers/slapd/back-asyncmeta/config.c
@@ -2498,9 +2498,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 07fe8e9f1..fb97e8ea3 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 0f876e77f..c38dce1cf 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:
--
2.33.0