https://bugs.openldap.org/show_bug.cgi?id=9990
--- Comment #5 from subbarao@computer.org subbarao@computer.org --- On 1/31/23 10:54 AM, openldap-its@openldap.org wrote:
Hi Kartik, ppolicy_text_cleanup is added onto op->o_callback, however it wasn't being called because passwd_extop would remove it and the memory still wasn't being freed, hence the other patch you're objecting to.
As mentioned, it might be that ppolicy_text_cleanup doesn't do the right thing when it's removing itself afterwards and that's what you're seeing?
Reading your comments and reviewing the code further, it looks like things may be more complex than my first read. I didn't stop to consider if line 302 op->o_be->be_modify(...) could introduce *new* items onto the op->o_callback list. Sorry about my confusion :-)
Rather than trying to unravel the code further on my own, let me provide an example overlay that no longer works after the ITS#8698 fix. Please see the attached its9990.c file, let me know what you see as the best solution.
Thanks,
-Kartik