#
309872 |
|
11-Dec-2016 |
araujo |
MFC r309392, r309393
r309392: String terminators are called NUL, not NULL, also the variable mentioned in the comment is p and not u.
Obtained from: OpenBSD (r1.34)
r309393: Use memset(3) instead of bzero(3).
Obtained from: OpenBSD (r1.12, r1.20, r1.18 and r1.37)
|
#
300639 |
|
24-May-2016 |
truckman |
Fix Coverity CIDs 1340544 Resource leak and 1340543 Use after free
At line 479 of ldapclient.c in client_build_req(), the error return leaks ldap_attrs (CID 1340544). It looks like this can happen if the first utoa() call in aldap_get_stringset() fails. It looks like other leaks can happen if other utoa() calls fail since scanning this array when it is freed stops when the first NULL is encountered. Fix these problems by not storing NULL in the array when utoa() fails, and by freeing ret and returning NULL if nothing is stored in the array. That way the caller will never see the ldap_attrs[0] == NULL case, so delete that check.
The ber_printf_element() calls ber_free_elements() on its ber argument and returns NULL on failure. When each of its callers detects failure, they do a goto fail, which then calls ber_free_elements() with the same pointer (CID 1340543). Fix is to delete the ber_free_elements() from ber_printf_element()
Reported by: Coverity CID: 1340543, 1340544 Reviewed by: araujo Differential Revision: https://reviews.freebsd.org/D6550
|