openssl@mkarcher.dialup.fu-berlin.de wrote:
slapd gets terminated by libc with an "invalid free" error message when
using
the baseObject configuration option (whether with or without file) at
the time
of the first query.
This is caused by freeing an entry using "free" that has been allocated
using
"entry_dup". This does not match (any more?). Essentially what the code
was
trying to to is to duplicate the sql_baseObject to bsi_e. The fix I
suggest adds
a function "entry_dup_to" to slapd so that backends can do this
operation
cleanly without having to create a temporary dynamic object there is no
obvious
clean way to get rid of.
I'd rather have a function that returns the entry struct to the pool
without calling entry_clean(), to avoid as much as possible code
duplication. In any case, good catch.
All in all, I favored using your patch as is. It's now in HEAD, please
test. Thanks, p.