]> granicus.if.org Git - postgresql/commit
Improve LDAP cleanup code in error paths.
authorPeter Eisentraut <peter_e@gmx.net>
Fri, 13 Oct 2017 02:33:15 +0000 (22:33 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Fri, 13 Oct 2017 02:37:14 +0000 (22:37 -0400)
commit1feff99fe4576d4685c14dff18d1f845a1456f10
tree5785d3a48588a0abf28644a0457fa0469a115f2f
parent91d5f1a4a3e8aea2a6488243bac55806160408fb
Improve LDAP cleanup code in error paths.

After calling ldap_unbind_s() we probably shouldn't try to use the LDAP
connection again to call ldap_get_option(), even if it failed.  The OpenLDAP
man page for ldap_unbind[_s] says "Once it is called, the connection to the
LDAP server is closed, and the ld structure is invalid."  Otherwise, as a
general rule we should probably call ldap_unbind() before returning in all
paths to avoid leaking resources.  It is unlikely there is any practical
leak problem since failure to authenticate currently results in the backend
exiting soon afterwards.

Author: Thomas Munro
Reviewed-By: Alvaro Herrera, Peter Eisentraut
Discussion: https://postgr.es/m/20170914141205.eup4kxzlkagtmfac%40alvherre.pgsql
src/backend/libpq/auth.c