https://bugs.openldap.org/show_bug.cgi?id=10130
--- Comment #5 from stacey.marshall@gmail.com --- (In reply to Howard Chu from comment #4)
Still that's an abnormal use case, when an interrupt is the usual way to exit. For abnormal situations, I see nothing wrong with generating a core file.
For the user using the commands, perhaps not, an administrator may wonder why these core files are being generated.
``` # pstack /var/cores/core.slapd.521808.1700478973 core '/var/cores/core.slapd.521808.1700478973' of 1626: slappasswd 00007feec4a6069a __lwp_sigqueue () + a 00007feec4992d0c raise () + 1c 00007feec495acb1 abort () + e1 00007feec495bf11 _assert_c99 () + 81 00007feec5165992 ch_strdup (0x7ff044c69760) + a2 00007feec51eb26a slappasswd (0x7ff044c69940, 0x7ff044c69940) + 68a 00007feec5114a06 main (0x7ff044c69950, 0x7ff044c69950) + 166 00007feec51146f4 ???????? ()
# pstack /var/cores/core.openldappasswd.521808.1700477840 core '/var/cores/core.openldappasswd.521808.1700477840' of 1602: ldappasswd -A 00007fdc94b43e70 strlen () + 30 00007fdc9510ac92 main (0x7fe78c0bd4a0, 0x7fe78c0bd4a0) + 162 00007fdc9510a524 ???????? () ```
In this chunk
the free( cred.bv_val ) is unnecessary, since this code is inside an if ( !cred.bv_val ).
Agreed.