Red Hat Bugzilla – Bug 1086902
mem leak in do_bind when there is an error
Last modified: 2015-03-05 04:34:20 EST
+++ This bug was initially created as a clone of Bug #1086901 +++ Description of problem: If you do a bind, and there is an error before the sdn can be set in the pblock - e.g. invalid sasl mech, unknown sasl mech, invalid bind method, invalid ldap version, protocol/decoding errors with bind parameters or controls - the cleanup code will get the NULL sdn from the pblock rather than freeing the unset sdn variable.
To Verify (see RHEL 6.6 bug) 1. Run server via valgrind. 2. Run ldap command with ... e.g. invalid sasl mech, unknown sasl mech, invalid bind method, etc. which is supposed to faile. 3. stop the server and check there is no do_bind in the valgrind output.
Created attachment 978156 [details] valgrind output $ rpm -qa | grep 389-ds 389-ds-base-1.3.3.1-10.el7.x86_64 389-ds-base-libs-1.3.3.1-10.el7.x86_64 $ ldapsearch -LLL -D "cn=Directory Manager" -w Secret123 -b dc=example,dc=com -Y FOO-MD5 ldap_sasl_interactive_bind_s: Unknown authentication method (-6) additional info: SASL(-4): no mechanism available: No worthy mechs found $ sudo /usr/sbin/stop-dirsrv Stopping instance "rhel7ds" $ grep -i do_bind /tmp/valgrind-20150109-145021-rhel7ds.out | wc -l 0 Marking as VERIFIED
Created attachment 978219 [details] valgrind output I'm sorry, I was running valgrind without debuginfo package for 389-ds. I repeated the tests with debuginfo installed. No do_bind in the output. $ rpm -qa | grep 389-ds 389-ds-base-debuginfo-1.3.3.1-11.el7.x86_64 389-ds-base-1.3.3.1-11.el7.x86_64 389-ds-base-libs-1.3.3.1-11.el7.x86_64
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0416.html