[oe-commits] Joe Slater : openldap: fix uninitialized ptr access problem
git at git.openembedded.org
git at git.openembedded.org
Sat Mar 21 15:46:25 UTC 2015
Module: meta-openembedded.git
Branch: master-next
Commit: 6abfe21a2aaf5daa9ddca36fcd36c3f65febb230
URL: http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=6abfe21a2aaf5daa9ddca36fcd36c3f65febb230
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