[openldap] fix: segmentation fault caused by double-free in ldapexop

jvcelak jvcelak at fedoraproject.org
Mon Jun 27 17:05:12 UTC 2011


commit 9925959a7d92b9bbc287e88c0058ec6403c0a318
Author: Jan Vcelak <jvcelak at redhat.com>
Date:   Mon Jun 27 15:13:54 2011 +0200

    fix: segmentation fault caused by double-free in ldapexop
    
    Resolves: #699683

 openldap-ldapexop-double-free.patch |   28 ++++++++++++++++++++++++++++
 openldap.spec                       |    3 +++
 2 files changed, 31 insertions(+), 0 deletions(-)
---
diff --git a/openldap-ldapexop-double-free.patch b/openldap-ldapexop-double-free.patch
new file mode 100644
index 0000000..5d4b2dd
--- /dev/null
+++ b/openldap-ldapexop-double-free.patch
@@ -0,0 +1,28 @@
+Segmentation fault fix caused by double free in ldapexop.
+
+Resolves: #699683
+Author: Jan Vcelak <jvcelak at redhat.com>
+Upstream: ITS #6946, git 3fcf2b1
+
+diff --git a/clients/tools/ldapexop.c b/clients/tools/ldapexop.c
+index f17e085..316eca1 100644
+--- a/clients/tools/ldapexop.c
++++ b/clients/tools/ldapexop.c
+@@ -247,7 +247,7 @@ main( int argc, char *argv[] )
+ 		char		*retoid = NULL;
+ 		struct berval	*retdata = NULL;
+ 
+-		rc = ldap_parse_extended_result( ld, res, &retoid, &retdata, 1 );
++		rc = ldap_parse_extended_result( ld, res, &retoid, &retdata, 0 );
+ 
+ 		if ( rc != LDAP_SUCCESS ) {
+ 			tool_perror( "ldap_parse_extended_result", rc, NULL, NULL, NULL, NULL );
+@@ -294,7 +294,7 @@ main( int argc, char *argv[] )
+ 			printf(_("# extended operation response\n"));
+ 		}
+ 
+-		rc = ldap_parse_extended_result( ld, res, &retoid, &retdata, 1 );
++		rc = ldap_parse_extended_result( ld, res, &retoid, &retdata, 0 );
+ 		if ( rc != LDAP_SUCCESS ) {
+ 			tool_perror( "ldap_parse_extended_result", rc, NULL, NULL, NULL, NULL );
+ 			rc = EXIT_FAILURE;
diff --git a/openldap.spec b/openldap.spec
index c2113eb..045cb8f 100644
--- a/openldap.spec
+++ b/openldap.spec
@@ -29,6 +29,7 @@ Patch6: openldap-ldaprc-currentdir.patch
 Patch7: openldap-userconfig-setgid.patch
 Patch8: openldap-nss-nofork.patch
 Patch9: openldap-nss-cacertdir-soft-error.patch
+Patch10: openldap-ldapexop-double-free.patch
 
 # patches for the evolution library (see README.evolution)
 Patch200: openldap-evolution-ntlm.patch
@@ -130,6 +131,7 @@ pushd openldap-%{version}
 %patch7 -p1 -b .userconfig-setgid
 %patch8 -p1 -b .nss-nofork
 %patch9 -p1 -b .nss-cacertdir-soft-error
+%patch10 -p1 -b .ldapexop-double-free
 
 cp %{_datadir}/libtool/config/config.{sub,guess} build/
 
@@ -660,6 +662,7 @@ exit 0
 - fix: server scriptlets require initscripts package (#716857)
 - fix: connection fails if TLS_CACERTDIR doesn't exist but TLS_REQCERT
   is set to 'never' (#716854)
+- fix: segmentation fault caused by double-free in ldapexop (#699683)
 
 * Fri Mar 18 2011 Jan Vcelak <jvcelak at redhat.com> 2.4.24-2
 - new: system resource limiting for slapd using ulimit


More information about the scm-commits mailing list