https://git.reactos.org/?p=reactos.git;a=commitdiff;h=551c74123c11e80b05edad...
commit 551c74123c11e80b05edad7dde141a84f1de70e7 Author: Doug Lyons douglyons@douglyons.com AuthorDate: Tue Oct 22 05:28:10 2024 -0500 Commit: GitHub noreply@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@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)