[oe-commits] Joe Slater : openldap: fix uninitialized ptr access problem

git at git.openembedded.org git at git.openembedded.org
Wed Mar 11 12:40:50 UTC 2015


Module: meta-openembedded.git
Branch: master-next
Commit: cdcb04be52dfdf4e110673988c1d67114a2254b9
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=cdcb04be52dfdf4e110673988c1d67114a2254b9

Author: Joe Slater <jslater at windriver.com>
Date:   Tue Mar 10 10:54:04 2015 -0700

openldap: fix uninitialized ptr access problem

To be safe, the ldap_pvt_thread_pool_getkey() function should
always set the data parameter.  If this is not done, slapd can
segfault during shutdown.

Signed-off-by: Joe Slater <jslater at windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 .../openldap/openldap-2.4.39/thread_stub.patch       | 20 ++++++++++++++++++++
 meta-oe/recipes-support/openldap/openldap_2.4.39.bb  |  1 +
 2 files changed, 21 insertions(+)

diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/thread_stub.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/thread_stub.patch
new file mode 100644
index 0000000..540ba4a
--- /dev/null
+++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/thread_stub.patch
@@ -0,0 +1,20 @@
+openldap: set pointer
+
+When the function ldap_pvt_thread_pool_getkey() succeeds, it
+must set the value of *data since the caller may try to use it.
+
+Upstream-Status: pending
+
+Signed-off-by: Joe Slater <jslater at windriver.com>
+
+
+--- a/libraries/libldap_r/thr_stub.c
++++ b/libraries/libldap_r/thr_stub.c
+@@ -217,6 +217,7 @@ ldap_pvt_thread_pool_unidle ( ldap_pvt_t
+ int ldap_pvt_thread_pool_getkey (
+ 	void *ctx, void *key, void **data, ldap_pvt_thread_pool_keyfree_t **kfree )
+ {
++	if (data) *data = NULL;  /* avoid problems with uninitialized *data */
+ 	return(0);
+ }
+ 
diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.39.bb b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb
index e2c700f..0183d02 100644
--- a/meta-oe/recipes-support/openldap/openldap_2.4.39.bb
+++ b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb
@@ -25,6 +25,7 @@ SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \
     file://use-urandom.patch \
     file://initscript \
     file://slapd.service \
+    file://thread_stub.patch \
 "
 SRC_URI[md5sum] = "b0d5ee4b252c841dec6b332d679cf943"
 SRC_URI[sha256sum] = "8267c87347103fef56b783b24877c0feda1063d3cb85d070e503d076584bf8a7"



More information about the Openembedded-commits mailing list