From 90ab85a771dd9660ebd001d070792a261839ade2 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Wed, 18 Nov 2009 02:18:15 +0000 Subject: [PATCH] ITS#6376 --- CHANGES | 1 + servers/slapd/overlays/syncprov.c | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index e1619a9fa1..29c9a6259f 100644 --- a/CHANGES +++ b/CHANGES @@ -28,6 +28,7 @@ OpenLDAP 2.4.20 Engineering Fixed slapo-pcache entry dupe (ITS#6310) Fixed slapo-syncprov checkpoint conversion (ITS#6370) Fixed slapo-syncprov deadlock (ITS#6335) + Fixed slapo-syncprov memory leak (ITS#6376) Fixed slapo-syncprov out of order changes (ITS#6346) Build Environment Fixed memrchr define (ITS#6351) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index 49a2cbe8da..f67ed9d550 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -855,7 +855,14 @@ syncprov_sendresp( Operation *op, opcookie *opc, syncops *so, } /* In case someone else freed it already? */ if ( rs.sr_ctrls ) { - op->o_tmpfree( rs.sr_ctrls[0], op->o_tmpmemctx ); + int i; + for ( i=0; rs.sr_ctrls[i]; i++ ) { + if ( rs.sr_ctrls[i] == ctrls[0] ) { + op->o_tmpfree( ctrls[0]->ldctl_value.bv_val, op->o_tmpmemctx ); + ctrls[0]->ldctl_value.bv_val = NULL; + break; + } + } rs.sr_ctrls = NULL; } -- 2.39.5