Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24653
Modified Files:
vlv.c
Log Message:
Resolves: #472999
Summary: vlv: memory leak
Description: if the addresses of the passed key and the returned key don't
match, the space for the returned key is allocated in libdb. Thus, we have to
release the returned key.
Index: vlv.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/vlv.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- vlv.c 15 Oct 2008 06:30:10 -0000 1.16
+++ vlv.c 26 Nov 2008 20:11:53 -0000 1.17
@@ -990,6 +990,10 @@
}
LDAPDebug( LDAP_DEBUG_TRACE, "<= vlv_build_candidate_list_byvalue: Not
Found. Index=%lu\n",si,0,0);
}
+ if (key.data != typedown_value[0]->bv_val) { /* in case new key is set
+ in dbc->c_get(DB_SET_RANGE) */
+ slapi_ch_free(&(key.data));
+ }
ber_bvecfree((struct berval**)typedown_value);
return si;
}
Show replies by date