I wrote:
slap_send_search_entry() does not always free/release the entry and call slap_cleanup_play() on error.
slap_send_search_reference() calls slap_cleanup_play(), but does not always free/release the entry.
I expect both functions always should do both, but don't know enough myself to be sure.
Resolution needed for ITS#6758 (SlapReply) - who should be responsible for clearing out the entry?
Nobody else were picking this up, and it was making back-monitor hang in ITS#7053. So I've made result.c always clean up.
The code is still inconsistent: slap_send_search_entry() may flush the entry either before or after slap_cleanup_play(), while slap_send_search_reference() always flushes first.
If anyone feels that should be regularized, feel free. I'm leaving it alone for now.