[PATCH] ntdll: Always return a value in get_builtin_init_funcs

Gerald Pfeifer gerald at pfeifer.com
Wed Aug 18 18:36:39 CDT 2021


This only showed up in the #ifdef __FreeBSD__ case, so did not appear
on other platforms during testing.

Signed-off-by: Gerald Pfeifer <gerald at pfeifer.com>
---
 dlls/ntdll/unix/loader.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index a8e145de16e..2dde2332a6a 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -1729,7 +1729,8 @@ NTSTATUS get_builtin_init_funcs( void *handle, void **funcs, SIZE_T len, SIZE_T
 #ifdef __FreeBSD__
         /* On older FreeBSD versions, l_addr was the absolute load address, now it's the relocation offset. */
         if (offsetof(struct link_map, l_addr) == 0)
-            if (!get_relocbase(map->l_addr, &relocbase)) return;
+            if (!get_relocbase(map->l_addr, &relocbase))
+                return STATUS_NOT_SUPPORTED;
 #endif
         switch (dyn->d_tag)
         {
-- 
2.31.1



More information about the wine-devel mailing list