From 2e61c7773b59f9727c17daeaf33da8e7ebef65f2 Mon Sep 17 00:00:00 2001 From: jss2a98aj Date: Fri, 18 Apr 2025 18:39:17 -0400 Subject: [PATCH] Fix OS_Windows::get_video_adapter_driver_info() --- platform/windows/os_windows.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index e5737df2ae5..b54a821cd80 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -723,7 +723,7 @@ Vector OS_Windows::get_video_adapter_driver_info() const { BSTR object_name = SysAllocString(L"DriverName"); hr = pnpSDriverObject[0]->Get(object_name, 0, &dn, nullptr, nullptr); SysFreeString(object_name); - if (hr == S_OK) { + if (hr == S_OK && dn.vt == VT_BSTR) { String d_name = String(V_BSTR(&dn)); if (d_name.is_empty()) { object_name = SysAllocString(L"DriverProviderName"); @@ -739,8 +739,10 @@ Vector OS_Windows::get_video_adapter_driver_info() const { object_name = SysAllocString(L"DriverProviderName"); hr = pnpSDriverObject[0]->Get(object_name, 0, &dn, nullptr, nullptr); SysFreeString(object_name); - if (hr == S_OK) { + if (hr == S_OK && dn.vt == VT_BSTR) { driver_name = String(V_BSTR(&dn)); + } else { + driver_name = "Unknown"; } } @@ -749,8 +751,10 @@ Vector OS_Windows::get_video_adapter_driver_info() const { object_name = SysAllocString(L"DriverVersion"); hr = pnpSDriverObject[0]->Get(object_name, 0, &dv, nullptr, nullptr); SysFreeString(object_name); - if (hr == S_OK) { + if (hr == S_OK && dv.vt == VT_BSTR) { driver_version = String(V_BSTR(&dv)); + } else { + driver_version = "Unknown"; } for (ULONG i = 0; i < resultCount; i++) { SAFE_RELEASE(pnpSDriverObject[i])