diff options
Diffstat (limited to 'meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch')
-rw-r--r-- | meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch b/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch new file mode 100644 index 0000000000..8ba181b887 --- /dev/null +++ b/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch @@ -0,0 +1,37 @@ +From a25be1aaa92a6d2e7f4cc3fdfbb92e5a10b63035 Mon Sep 17 00:00:00 2001 +From: Greg Beard <gmbeard@googlemail.com> +Date: Sat, 25 Mar 2023 08:31:36 +0000 +Subject: [PATCH] dso: Check for NULL handle in apr_dso_sym + +Upstream-Status: Backport [https://github.com/apache/apr/pull/40/commits/0efce00093b1ba405d91c7f0eab9755c8527eead] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + dso/unix/dso.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/dso/unix/dso.c b/dso/unix/dso.c +index fdd56f1..583d5de 100644 +--- a/dso/unix/dso.c ++++ b/dso/unix/dso.c +@@ -173,6 +173,18 @@ APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, + apr_dso_handle_t *handle, + const char *symname) + { ++ /* This is necessary for `testdso.c`. For some reason, musl ++ * builds fail the `test_unload_library` test if the below ++ * check isn't in place. `test_unload_library` unloads the ++ * library and then immediately calls this function. Maybe ++ * musl's `dlsym()` assumes the handle is never NULL and ++ * some UB is being invoked here... ++ */ ++ if (handle->handle == NULL) { ++ handle->errormsg = "library not loaded"; ++ return APR_ESYMNOTFOUND; ++ } ++ + #if defined(DSO_USE_SHL) + void *symaddr = NULL; + int status; +-- +2.42.0 + |