[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#4483) Confusion in freeing BerElement in abnormal conditions

Full_Name: Pierangelo Masarati
Version: HEAD,re23,re24
OS: irrelevant
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (
Submitted by: ando

In liblber/io.c:br_flush(), even when requested to free the BerElement arg, the
function doesn't free it in some abnormal conditions; however,
libldap/unbind.c:ldap_send_unbind() calls ber_flush() with freeit set, and, in
case of error, frees the value once more.

liblber/io.c  1.111 -> 1.112
libldap/unbind.c  1.58 -> 1.59

All other calls to ber_flush() are consistent, i.e. either don't set freeit, and
handle failures, or set it and don't re-free it.