From 8e8d2839591858bd5c91634d1a711a7c9091d256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 11 Oct 2022 20:13:44 +0800 Subject: [PATCH] Windows: fix crashing --- src/util/windows/wmi.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/util/windows/wmi.cpp b/src/util/windows/wmi.cpp index 845a3dda4..cff1c9a97 100644 --- a/src/util/windows/wmi.cpp +++ b/src/util/windows/wmi.cpp @@ -142,6 +142,11 @@ IEnumWbemClassObject* ffQueryWmi(const wchar_t* queryStr, FFstrbuf* error) void ffBstrToStrbuf(BSTR bstr, FFstrbuf* strbuf) { int len = (int)SysStringLen(bstr); + if(len <= 0) + { + ffStrbufClear(strbuf); + return; + } int size_needed = WideCharToMultiByte(CP_UTF8, 0, bstr, len, nullptr, 0, nullptr, nullptr); ffStrbufEnsureFree(strbuf, (uint32_t)size_needed); WideCharToMultiByte(CP_UTF8, 0, bstr, len, strbuf->chars, size_needed, nullptr, nullptr);