Hello community, here is the log from the commit of package openldap2 for openSUSE:Factory checked in at 2017-12-14 10:53:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openldap2 (Old) and /work/SRC/openSUSE:Factory/.openldap2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "openldap2" Thu Dec 14 10:53:18 2017 rev:129 rq:556544 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/openldap2/openldap2.changes 2017-11-30 12:36:19.221707668 +0100 +++ /work/SRC/openSUSE:Factory/.openldap2.new/openldap2.changes 2017-12-14 10:53:19.923638488 +0100 @@ -1,0 +2,5 @@ +Mon Dec 11 22:51:03 UTC 2017 - michael@stroeder.com + +- added 0016-ITS-8782-fix-cancel-memleak.patch + +------------------------------------------------------------------- New: ---- 0016-ITS-8782-fix-cancel-memleak.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openldap2.spec ++++++ --- /var/tmp/diff_new_pack.6DcIwV/_old 2017-12-14 10:53:21.243574769 +0100 +++ /var/tmp/diff_new_pack.6DcIwV/_new 2017-12-14 10:53:21.247574575 +0100 @@ -66,6 +66,7 @@ Patch13: 0013-ITS-8692-let-back-sock-generate-increment-line.patch Patch14: 0014-ITS-8714-Send-out-EXTENDED-operation-message-from-back-sock.patch Patch15: openldap-r-only.dif +Patch16: 0016-ITS-8782-fix-cancel-memleak.patch Source200: %{name_ppolicy_check_module}-%{version_ppolicy_check_module}.tar.gz Source201: %{name_ppolicy_check_module}.Makefile Source202: %{name_ppolicy_check_module}.conf @@ -262,6 +263,7 @@ %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 cp %{SOURCE5} . # Move ppolicy check module and its Makefile into openldap-2.4/contrib/slapd-modules/ ++++++ 0016-ITS-8782-fix-cancel-memleak.patch ++++++
From f82ca15a1862749e13a989599d7f4c52c7648957 Mon Sep 17 00:00:00 2001 From: Howard Chu
Date: Mon, 4 Dec 2017 15:59:33 +0000 Subject: ITS#8782 plug memleaks in cancel
diff --git a/libraries/libldap/cancel.c b/libraries/libldap/cancel.c index b09f6f021..f3677b13a 100644 --- a/libraries/libldap/cancel.c +++ b/libraries/libldap/cancel.c @@ -42,14 +42,14 @@ ldap_cancel( int *msgidp ) { BerElement *cancelidber = NULL; - struct berval *cancelidvalp = NULL; + struct berval cancelidvalp = { 0, NULL }; int rc; cancelidber = ber_alloc_t( LBER_USE_DER ); ber_printf( cancelidber, "{i}", cancelid ); - ber_flatten( cancelidber, &cancelidvalp ); + ber_flatten2( cancelidber, &cancelidvalp, 0 ); rc = ldap_extended_operation( ld, LDAP_EXOP_CANCEL, - cancelidvalp, sctrls, cctrls, msgidp ); + &cancelidvalp, sctrls, cctrls, msgidp ); ber_free( cancelidber, 1 ); return rc; } @@ -62,14 +62,14 @@ ldap_cancel_s( LDAPControl **cctrls ) { BerElement *cancelidber = NULL; - struct berval *cancelidvalp = NULL; + struct berval cancelidvalp = { 0, NULL }; int rc; cancelidber = ber_alloc_t( LBER_USE_DER ); ber_printf( cancelidber, "{i}", cancelid ); - ber_flatten( cancelidber, &cancelidvalp ); + ber_flatten2( cancelidber, &cancelidvalp, 0 ); rc = ldap_extended_operation_s( ld, LDAP_EXOP_CANCEL, - cancelidvalp, sctrls, cctrls, NULL, NULL ); + &cancelidvalp, sctrls, cctrls, NULL, NULL ); ber_free( cancelidber, 1 ); return rc; }