diff --git a/channels/rdpecam/common/rdpecam-utils.h b/channels/rdpecam/common/rdpecam-utils.h index 080cb0527..b1d27c798 100644 --- a/channels/rdpecam/common/rdpecam-utils.h +++ b/channels/rdpecam/common/rdpecam-utils.h @@ -32,7 +32,7 @@ static inline void rdpecam_PrintWarning(wLog* log, const char* file, const char* WINPR_FORMAT_ARG const char* fmt, ...) { const DWORD level = WLOG_WARN; - va_list ap; + va_list ap = { 0 }; va_start(ap, fmt); if (WLog_IsLevelActive(log, level)) diff --git a/channels/rdpei/client/rdpei_main.c b/channels/rdpei/client/rdpei_main.c index fc5477b87..43e4e4796 100644 --- a/channels/rdpei/client/rdpei_main.c +++ b/channels/rdpei/client/rdpei_main.c @@ -1202,7 +1202,7 @@ static UINT rdpei_touch_raw_event(RdpeiClientContext* context, INT32 externalId, INT32* contactId, UINT32 flags, UINT32 fieldFlags, ...) { UINT rc = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, fieldFlags); rc = rdpei_touch_process(context, externalId, flags, x, y, contactId, fieldFlags, ap); va_end(ap); @@ -1345,7 +1345,7 @@ static UINT rdpei_pen_begin(RdpeiClientContext* context, INT32 externalId, UINT3 INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1366,7 +1366,7 @@ static UINT rdpei_pen_update(RdpeiClientContext* context, INT32 externalId, UINT INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1386,7 +1386,7 @@ static UINT rdpei_pen_end(RdpeiClientContext* context, INT32 externalId, UINT32 INT32 y, ...) { UINT error = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, y); error = rdpei_pen_process(context, externalId, RDPINPUT_CONTACT_FLAG_UP | RDPINPUT_CONTACT_FLAG_INRANGE, fieldFlags, @@ -1404,7 +1404,7 @@ static UINT rdpei_pen_hover_begin(RdpeiClientContext* context, INT32 externalId, INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1424,7 +1424,7 @@ static UINT rdpei_pen_hover_update(RdpeiClientContext* context, INT32 externalId INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1444,7 +1444,7 @@ static UINT rdpei_pen_hover_cancel(RdpeiClientContext* context, INT32 externalId INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1459,7 +1459,7 @@ static UINT rdpei_pen_raw_event(RdpeiClientContext* context, INT32 externalId, U UINT32 fieldFlags, INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, y); error = rdpei_pen_process(context, externalId, contactFlags, fieldFlags, x, y, ap); diff --git a/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c b/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c index b6ebe751a..a4e8214bd 100644 --- a/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c +++ b/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c @@ -201,7 +201,7 @@ finish: /* callback to freerdp class */ void freerdp_callback(const char* callback, const char* signature, ...) { - va_list vl; + va_list vl = { 0 }; va_start(vl, signature); java_callback_void(jLibFreeRDPObject, callback, signature, vl); va_end(vl); @@ -209,7 +209,7 @@ void freerdp_callback(const char* callback, const char* signature, ...) jboolean freerdp_callback_bool_result(const char* callback, const char* signature, ...) { - va_list vl; + va_list vl = { 0 }; va_start(vl, signature); jboolean res = java_callback_bool(jLibFreeRDPObject, callback, signature, vl); va_end(vl); @@ -218,7 +218,7 @@ jboolean freerdp_callback_bool_result(const char* callback, const char* signatur jint freerdp_callback_int_result(const char* callback, const char* signature, ...) { - va_list vl; + va_list vl = { 0 }; va_start(vl, signature); jint res = java_callback_int(jLibFreeRDPObject, callback, signature, vl); va_end(vl); diff --git a/client/SDL/SDL2/dialogs/sdl_connection_dialog.cpp b/client/SDL/SDL2/dialogs/sdl_connection_dialog.cpp index 9ae26fe0e..55528906c 100644 --- a/client/SDL/SDL2/dialogs/sdl_connection_dialog.cpp +++ b/client/SDL/SDL2/dialogs/sdl_connection_dialog.cpp @@ -455,7 +455,7 @@ std::string SDLConnectionDialog::print(const char* fmt, va_list ap) if (size > 0) res.resize(WINPR_ASSERTING_INT_CAST(size_t, size)); - va_list copy; + va_list copy = {}; va_copy(copy, ap); WINPR_PRAGMA_DIAG_PUSH WINPR_PRAGMA_DIAG_IGNORED_FORMAT_NONLITERAL diff --git a/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp b/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp index 2ac984aab..8fd501ce9 100644 --- a/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp +++ b/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp @@ -439,7 +439,7 @@ std::string SDLConnectionDialog::print(const char* fmt, va_list ap) if (size > 0) res.resize(WINPR_ASSERTING_INT_CAST(uint32_t, size)); - va_list copy; + va_list copy = {}; va_copy(copy, ap); WINPR_PRAGMA_DIAG_PUSH WINPR_PRAGMA_DIAG_IGNORED_FORMAT_NONLITERAL diff --git a/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.cpp b/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.cpp index b632833a6..e04b0bf32 100644 --- a/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.cpp +++ b/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.cpp @@ -75,7 +75,7 @@ bool SdlConnectionDialogWrapper::handleEvent(const SDL_Event& event) WINPR_ATTR_FORMAT_ARG(1, 0) static std::string format(WINPR_FORMAT_ARG const char* fmt, va_list ap) { - va_list ap1; + va_list ap1 = {}; va_copy(ap1, ap); const int size = vsnprintf(nullptr, 0, fmt, ap1); va_end(ap1); @@ -86,7 +86,7 @@ static std::string format(WINPR_FORMAT_ARG const char* fmt, va_list ap) std::string msg; msg.resize(static_cast(size) + 1); - va_list ap2; + va_list ap2 = {}; va_copy(ap2, ap); std::ignore = vsnprintf(msg.data(), msg.size(), fmt, ap2); va_end(ap2); @@ -95,7 +95,7 @@ static std::string format(WINPR_FORMAT_ARG const char* fmt, va_list ap) void SdlConnectionDialogWrapper::setTitle(const char* fmt, ...) { - va_list ap; + va_list ap = {}; va_start(ap, fmt); setTitle(format(fmt, ap)); va_end(ap); @@ -108,7 +108,7 @@ void SdlConnectionDialogWrapper::setTitle(const std::string& title) void SdlConnectionDialogWrapper::showInfo(const char* fmt, ...) { - va_list ap; + va_list ap = {}; va_start(ap, fmt); showInfo(format(fmt, ap)); va_end(ap); @@ -121,7 +121,7 @@ void SdlConnectionDialogWrapper::showInfo(const std::string& info) void SdlConnectionDialogWrapper::showWarn(const char* fmt, ...) { - va_list ap; + va_list ap = {}; va_start(ap, fmt); showWarn(format(fmt, ap)); va_end(ap); @@ -134,7 +134,7 @@ void SdlConnectionDialogWrapper::showWarn(const std::string& info) void SdlConnectionDialogWrapper::showError(const char* fmt, ...) { - va_list ap; + va_list ap = {}; va_start(ap, fmt); showError(format(fmt, ap)); va_end(ap); diff --git a/client/Windows/wf_client.c b/client/Windows/wf_client.c index c9054a0e4..44ae0ae16 100644 --- a/client/Windows/wf_client.c +++ b/client/Windows/wf_client.c @@ -663,8 +663,8 @@ static WCHAR* wf_format_text(const WCHAR* fmt, ...) do { - WCHAR* tmp; - va_list ap; + WCHAR* tmp = NULL; + va_list ap = { 0 }; va_start(ap, fmt); rc = _vsnwprintf(buffer, size, fmt, ap); va_end(ap); diff --git a/client/X11/xf_utils.c b/client/X11/xf_utils.c index 99a3e4c93..f47e5bb32 100644 --- a/client/X11/xf_utils.c +++ b/client/X11/xf_utils.c @@ -90,7 +90,7 @@ static int write_result_log_expect_success(wLog* log, DWORD level, const char* f { if (rc != Success) { - va_list ap; + va_list ap = { 0 }; (void)write_result_log_va(log, level, fname, fkt, line, display, name, rc, 0, ap); } return rc; @@ -101,7 +101,7 @@ static int write_result_log_expect_one(wLog* log, DWORD level, const char* fname { if (rc != 1) { - va_list ap; + va_list ap = { 0 }; (void)write_result_log_va(log, level, fname, fkt, line, display, name, rc, 0, ap); } return rc; diff --git a/client/X11/xf_window.c b/client/X11/xf_window.c index b4138bbbf..d67e7d574 100644 --- a/client/X11/xf_window.c +++ b/client/X11/xf_window.c @@ -232,7 +232,7 @@ static void xf_SetWindowTitleText(xfContext* xfc, Window window, const char* nam void xf_SendClientEvent(xfContext* xfc, Window window, Atom atom, unsigned int numArgs, ...) { XEvent xevent = { 0 }; - va_list argp; + va_list argp = { 0 }; va_start(argp, numArgs); xevent.xclient.type = ClientMessage; diff --git a/client/common/client.c b/client/common/client.c index cb34b0d6a..93dedc543 100644 --- a/client/common/client.c +++ b/client/common/client.c @@ -2203,7 +2203,7 @@ BOOL freerdp_client_handle_pen(rdpClientContext* cctx, UINT32 flags, INT32 devic #if defined(CHANNEL_RDPEI_CLIENT) if ((flags & FREERDP_PEN_REGISTER) != 0) { - va_list args; + va_list args = { 0 }; va_start(args, deviceid); double pressure = va_arg(args, double); @@ -2231,7 +2231,7 @@ BOOL freerdp_client_handle_pen(rdpClientContext* cctx, UINT32 flags, INT32 devic UINT16 rotation = 0; INT16 tiltX = 0; INT16 tiltY = 0; - va_list args; + va_list args = { 0 }; va_start(args, deviceid); x = va_arg(args, INT32); @@ -2572,7 +2572,7 @@ char* freerdp_client_get_aad_url(rdpClientContext* cctx, freerdp_client_aad_type WINPR_ASSERT(cctx); char* str = NULL; - va_list ap; + va_list ap = { 0 }; va_start(ap, type); switch (type) { diff --git a/client/common/client_cliprdr_file.c b/client/common/client_cliprdr_file.c index b594bc0ec..3b87490cf 100644 --- a/client/common/client_cliprdr_file.c +++ b/client/common/client_cliprdr_file.c @@ -228,7 +228,7 @@ static CliprdrFuseFile* fuse_file_new(WINPR_FORMAT_ARG const char* fmt, ...) WINPR_ASSERT(fmt); { - va_list ap; + va_list ap = { 0 }; va_start(ap, fmt); const int rc = winpr_vasprintf(&file->filename_with_root, &file->filename_with_root_len, fmt, ap); diff --git a/client/common/sso_mib_tokens.c b/client/common/sso_mib_tokens.c index 9a3bf0165..16ed39e0e 100644 --- a/client/common/sso_mib_tokens.c +++ b/client/common/sso_mib_tokens.c @@ -153,7 +153,7 @@ static BOOL sso_mib_get_access_token(rdpContext* context, AccessTokenType tokenT const char* scope = NULL; const char* req_cnf = NULL; - va_list ap; + va_list ap = { 0 }; va_start(ap, count); if (tokenType == ACCESS_TOKEN_TYPE_AAD) diff --git a/client/iOS/Models/RDPSession.m b/client/iOS/Models/RDPSession.m index 9a844cc23..d6b6535ae 100644 --- a/client/iOS/Models/RDPSession.m +++ b/client/iOS/Models/RDPSession.m @@ -46,7 +46,7 @@ NSString *TSXSessionDidFailToConnectNotification = @"TSXSessionDidFailToConnect" static BOOL addArgument(int *argc, char ***argv, const char *fmt, ...) { - va_list ap; + va_list ap = { 0 }; char *arg = NULL; char **tmp = realloc(*argv, (*argc + 1) * sizeof(char *)); diff --git a/libfreerdp/core/credssp_auth.c b/libfreerdp/core/credssp_auth.c index 0a488da46..18bd5c8e0 100644 --- a/libfreerdp/core/credssp_auth.c +++ b/libfreerdp/core/credssp_auth.c @@ -108,7 +108,7 @@ static BOOL log_status_(SECURITY_STATUS status, DWORD level, const char* file, c if (WLog_IsLevelActive(log, level)) { char fwhat[128] = { 0 }; - va_list ap; + va_list ap = { 0 }; va_start(ap, what); (void)vsnprintf(fwhat, sizeof(fwhat) - 1, what, ap); va_end(ap); diff --git a/libfreerdp/core/freerdp.c b/libfreerdp/core/freerdp.c index 7cd87be3f..43426afe5 100644 --- a/libfreerdp/core/freerdp.c +++ b/libfreerdp/core/freerdp.c @@ -807,7 +807,7 @@ static BOOL freerdp_common_context(rdpContext* context, AccessTokenType tokenTyp if (!context->instance || !context->instance->GetAccessToken) return TRUE; - va_list ap; + va_list ap = { 0 }; va_start(ap, count); switch (tokenType) { diff --git a/libfreerdp/core/gateway/http.c b/libfreerdp/core/gateway/http.c index a76e474f5..849bff7cd 100644 --- a/libfreerdp/core/gateway/http.c +++ b/libfreerdp/core/gateway/http.c @@ -271,7 +271,7 @@ WINPR_ATTR_FORMAT_ARG(2, 0) static BOOL list_append(HttpContext* context, WINPR_FORMAT_ARG const char* str, va_list ap) { BOOL rc = FALSE; - va_list vat; + va_list vat = { 0 }; char* Pragma = NULL; size_t PragmaSize = 0; @@ -1703,7 +1703,7 @@ FREERDP_LOCAL BOOL http_context_set_header(HttpContext* context, const char* key ...) { WINPR_ASSERT(context); - va_list ap; + va_list ap = { 0 }; va_start(ap, value); const BOOL rc = http_context_set_header_va(context, key, value, ap); va_end(ap); @@ -1715,7 +1715,7 @@ BOOL http_request_set_header(HttpRequest* request, const char* key, const char* WINPR_ASSERT(request); char* v = NULL; size_t vlen = 0; - va_list ap; + va_list ap = { 0 }; va_start(ap, value); winpr_vasprintf(&v, &vlen, value, ap); va_end(ap); diff --git a/libfreerdp/core/test/TestSettings.c b/libfreerdp/core/test/TestSettings.c index 657dc4583..2e870ddba 100644 --- a/libfreerdp/core/test/TestSettings.c +++ b/libfreerdp/core/test/TestSettings.c @@ -15,7 +15,7 @@ static void log_start_(const char* fkt, ...) { (void)fprintf(stderr, "TestSettings ["); - va_list ap; + va_list ap = { 0 }; va_start(ap, fkt); (void)vfprintf(stderr, fkt, ap); va_end(ap); @@ -27,7 +27,7 @@ static void log_start_(const char* fkt, ...) static BOOL log_result_(BOOL value, const char* fkt, ...) { (void)fprintf(stderr, "TestSettings ["); - va_list ap; + va_list ap = { 0 }; va_start(ap, fkt); (void)vfprintf(stderr, fkt, ap); va_end(ap); diff --git a/libfreerdp/crypto/privatekey.c b/libfreerdp/crypto/privatekey.c index 0e2740e49..c092bba11 100644 --- a/libfreerdp/crypto/privatekey.c +++ b/libfreerdp/crypto/privatekey.c @@ -408,7 +408,7 @@ BOOL freerdp_key_generate(rdpPrivateKey* key, const char* type, size_t count, .. WLog_ERR(TAG, "Argument type=%s requires count=1, got %" PRIuz ", aborting", type, count); return FALSE; } - va_list ap; + va_list ap = { 0 }; va_start(ap, count); const int key_length = va_arg(ap, int); va_end(ap); diff --git a/server/proxy/channels/pf_channel_drdynvc.c b/server/proxy/channels/pf_channel_drdynvc.c index b3d5e226d..317211ee4 100644 --- a/server/proxy/channels/pf_channel_drdynvc.c +++ b/server/proxy/channels/pf_channel_drdynvc.c @@ -136,7 +136,7 @@ static void dyn_log_(wLog* log, DWORD level, const pServerDynamicChannelContext* getDirection(isBackData), channelName, drdynvc_get_packet_type(cmd), channelId); - va_list ap; + va_list ap = { 0 }; va_start(ap, fmt); (void)winpr_vasprintf(&msg, &msglen, fmt, ap); va_end(ap); diff --git a/uwac/libuwac/uwac-display.c b/uwac/libuwac/uwac-display.c index 9bc602aa5..fe9f232be 100644 --- a/uwac/libuwac/uwac-display.c +++ b/uwac/libuwac/uwac-display.c @@ -54,7 +54,7 @@ static const char* event_names[] = { static bool uwac_default_error_handler(UwacDisplay* display, UwacReturnCode code, const char* msg, ...) { - va_list args; + va_list args = { 0 }; va_start(args, msg); (void)vfprintf(stderr, "%s", args); va_end(args); diff --git a/winpr/include/winpr/platform.h b/winpr/include/winpr/platform.h index 17990104c..681cb5d5a 100644 --- a/winpr/include/winpr/platform.h +++ b/winpr/include/winpr/platform.h @@ -594,7 +594,7 @@ WINPR_PRAGMA_DIAG_POP #if defined(__GNUC__) || defined(__clang__) #define WINPR_ATTR_FORMAT_ARG(pos, args) __attribute__((__format__(__printf__, pos, args))) #define WINPR_FORMAT_ARG /**/ -#else +#elif defined(_MSC_VER) #define WINPR_ATTR_FORMAT_ARG(pos, args) #define WINPR_FORMAT_ARG _Printf_format_string_ #endif diff --git a/winpr/include/winpr/wlog.h b/winpr/include/winpr/wlog.h index f9b0e3a35..765822187 100644 --- a/winpr/include/winpr/wlog.h +++ b/winpr/include/winpr/wlog.h @@ -273,7 +273,11 @@ extern "C" if (WLog_IsLevelActive(log_cached_ptr, log_level)) { - va_list ap; +#if defined(__cplusplus) + va_list ap = {}; +#else + va_list ap = { 0 }; +#endif va_start(ap, fmt); WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap); va_end(ap); diff --git a/winpr/libwinpr/path/path.c b/winpr/libwinpr/path/path.c index 66afcd9d8..04ec0e690 100644 --- a/winpr/libwinpr/path/path.c +++ b/winpr/libwinpr/path/path.c @@ -1258,7 +1258,7 @@ char* winpr_GetConfigFilePath(BOOL system, const char* filename) char* winpr_GetConfigFilePathV(BOOL system, const char* filename, ...) { - va_list ap; + va_list ap = { 0 }; va_start(ap, filename); char* str = winpr_GetConfigFilePathVA(system, filename, ap); va_end(ap); diff --git a/winpr/libwinpr/path/shell.c b/winpr/libwinpr/path/shell.c index 2d7630741..e3fce3423 100644 --- a/winpr/libwinpr/path/shell.c +++ b/winpr/libwinpr/path/shell.c @@ -401,7 +401,7 @@ char* GetKnownSubPath(eKnownPathTypes id, const char* path) char* GetKnownSubPathV(eKnownPathTypes id, const char* path, ...) { - va_list ap; + va_list ap = { 0 }; va_start(ap, path); char* str = GetKnownSubPathVA(id, path, ap); @@ -455,7 +455,7 @@ char* GetEnvironmentSubPath(char* name, const char* path) char* GetEnvironmentSubPathV(char* name, const char* path, ...) { - va_list ap; + va_list ap = { 0 }; va_start(ap, path); char* str = GetEnvironmentSubPathVA(name, path, ap); va_end(ap); @@ -483,7 +483,7 @@ char* GetCombinedPath(const char* basePath, const char* subPathFmt) char* GetCombinedPathV(const char* basePath, const char* subPathFmt, ...) { - va_list ap; + va_list ap = { 0 }; va_start(ap, subPathFmt); char* str = GetCombinedPathVA(basePath, subPathFmt, ap); diff --git a/winpr/libwinpr/utils/collections/ArrayList.c b/winpr/libwinpr/utils/collections/ArrayList.c index 55ccd64a9..1aa0de8f5 100644 --- a/winpr/libwinpr/utils/collections/ArrayList.c +++ b/winpr/libwinpr/utils/collections/ArrayList.c @@ -546,7 +546,7 @@ BOOL ArrayList_ForEach(wArrayList* arrayList, ArrayList_ForEachFkt fkt, ...) BOOL ArrayList_ForEachAP(wArrayList* arrayList, ArrayList_ForEachFkt fkt, va_list ap) { BOOL rc = FALSE; - va_list cap; + va_list cap = { 0 }; WINPR_ASSERT(arrayList); WINPR_ASSERT(fkt); diff --git a/winpr/libwinpr/utils/stream.c b/winpr/libwinpr/utils/stream.c index 4493249e9..94ed656d7 100644 --- a/winpr/libwinpr/utils/stream.c +++ b/winpr/libwinpr/utils/stream.c @@ -312,7 +312,7 @@ BOOL Stream_CheckAndLogRequiredCapacityEx(const char* tag, DWORD level, wStream* if (actual < nmemb) { - va_list args; + va_list args = { 0 }; va_start(args, fmt); Stream_CheckAndLogRequiredCapacityExVa(tag, level, s, nmemb, size, fmt, args); @@ -370,7 +370,7 @@ BOOL Stream_CheckAndLogRequiredCapacityWLogEx(wLog* log, DWORD level, wStream* s if (actual < nmemb) { - va_list args; + va_list args = { 0 }; va_start(args, fmt); Stream_CheckAndLogRequiredCapacityWLogExVa(log, level, s, nmemb, size, fmt, args); @@ -390,7 +390,7 @@ BOOL Stream_CheckAndLogRequiredLengthEx(const char* tag, DWORD level, wStream* s if (actual < nmemb) { - va_list args; + va_list args = { 0 }; va_start(args, fmt); Stream_CheckAndLogRequiredLengthExVa(tag, level, s, nmemb, size, fmt, args); @@ -421,7 +421,7 @@ BOOL Stream_CheckAndLogRequiredLengthWLogEx(wLog* log, DWORD level, wStream* s, if (actual < nmemb) { - va_list args; + va_list args = { 0 }; va_start(args, fmt); Stream_CheckAndLogRequiredLengthWLogExVa(log, level, s, nmemb, size, fmt, args); diff --git a/winpr/libwinpr/utils/wlog/Layout.c b/winpr/libwinpr/utils/wlog/Layout.c index 2374d7838..f8927d5b3 100644 --- a/winpr/libwinpr/utils/wlog/Layout.c +++ b/winpr/libwinpr/utils/wlog/Layout.c @@ -91,7 +91,7 @@ WINPR_ATTR_FORMAT_ARG(3, 4) static void WLog_PrintMessagePrefix(char* prefix, size_t prefixlen, WINPR_FORMAT_ARG const char* format, ...) { - va_list args; + va_list args = { 0 }; va_start(args, format); WLog_PrintMessagePrefixVA(prefix, prefixlen, format, args); va_end(args); diff --git a/winpr/libwinpr/utils/wlog/wlog.c b/winpr/libwinpr/utils/wlog/wlog.c index e70fd22f7..73dbd477e 100644 --- a/winpr/libwinpr/utils/wlog/wlog.c +++ b/winpr/libwinpr/utils/wlog/wlog.c @@ -429,7 +429,7 @@ BOOL WLog_PrintMessage(wLog* log, DWORD type, DWORD level, size_t line, const ch const char* function, ...) { BOOL status = 0; - va_list args; + va_list args = { 0 }; va_start(args, function); status = WLog_PrintMessageVA(log, type, level, line, file, function, args); va_end(args); @@ -440,7 +440,7 @@ BOOL WLog_PrintTextMessage(wLog* log, DWORD level, size_t line, const char* file const char* function, const char* fmt, ...) { BOOL status = 0; - va_list args; + va_list args = { 0 }; va_start(args, fmt); status = WLog_PrintTextMessageVA(log, level, line, file, function, fmt, args); va_end(args);