https://git.reactos.org/?p=reactos.git;a=commitdiff;h=551c74123c11e80b05eda…
commit 551c74123c11e80b05edad7dde141a84f1de70e7
Author: Doug Lyons <douglyons(a)douglyons.com>
AuthorDate: Tue Oct 22 05:28:10 2024 -0500
Commit: GitHub <noreply(a)github.com>
CommitDate: Tue Oct 22 05:28:10 2024 -0500
[VERSION] Fix VerQueryValue when return Value is NULL. (#7449)
CORE-19783
Co-authored-by: Timo Kreuzer <timo.kreuzer(a)reactos.org>
---
dll/win32/version/version.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/dll/win32/version/version.c b/dll/win32/version/version.c
index 0e2f35dd107..8ecabae01a3 100644
--- a/dll/win32/version/version.c
+++ b/dll/win32/version/version.c
@@ -979,6 +979,14 @@ static BOOL VersionInfo32_QueryValue( const VS_VERSION_INFO_STRUCT32
*info, LPCW
/* Return value */
*lplpBuffer = VersionInfo32_Value( info );
+
+#ifdef __REACTOS__
+ /* If the wValueLength is zero, then set a UNICODE_NULL only return string.
+ * Use the NULL terminator from the key string for that. This is what Windows does,
too. */
+ if (!info->wValueLength)
+ *lplpBuffer = (PVOID)(info->szKey + wcslen(info->szKey));
+#endif
+
if (puLen)
*puLen = info->wValueLength;
if (pbText)