From b4587efad196f3af5ceaa443e2685a8e5d032ccb Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 17 Jan 2024 10:22:22 +0100 Subject: [PATCH] [proxy,modules] fix module load check --- server/proxy/pf_modules.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/proxy/pf_modules.c b/server/proxy/pf_modules.c index 323cc92cd..57a74bc1b 100644 --- a/server/proxy/pf_modules.c +++ b/server/proxy/pf_modules.c @@ -436,21 +436,26 @@ static BOOL pf_modules_load_ArrayList_ForEachFkt(void* data, size_t index, va_li { proxyPlugin* plugin = (proxyPlugin*)data; const char* plugin_name = va_arg(ap, const char*); + BOOL* res = va_arg(ap, BOOL*); WINPR_UNUSED(index); WINPR_UNUSED(ap); + WINPR_ASSERT(res); if (strcmp(plugin->name, plugin_name) == 0) - return TRUE; - return FALSE; + *res = TRUE; + return TRUE; } BOOL pf_modules_is_plugin_loaded(proxyModule* module, const char* plugin_name) { + BOOL rc = FALSE; WINPR_ASSERT(module); if (ArrayList_Count(module->plugins) < 1) return FALSE; - return ArrayList_ForEach(module->plugins, pf_modules_load_ArrayList_ForEachFkt, plugin_name); + if (!ArrayList_ForEach(module->plugins, pf_modules_load_ArrayList_ForEachFkt, plugin_name, &rc)) + return FALSE; + return rc; } static BOOL pf_modules_print_ArrayList_ForEachFkt(void* data, size_t index, va_list ap)