diff --git a/reactos/dll/win32/version/info.c b/reactos/dll/win32/version/info.c index c96e0da031d..2e1536c5dcc 100644 --- a/reactos/dll/win32/version/info.c +++ b/reactos/dll/win32/version/info.c @@ -764,7 +764,7 @@ static BOOL WINAPI VersionInfo32_QueryValue( VS_VERSION_INFO_STRUCT32 *info, LPC /*********************************************************************** * VerQueryValueA [VERSION.@] */ -BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPSTR lpSubBlock, +BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPCSTR lpSubBlock, LPVOID *lplpBuffer, UINT *puLen ) { static const char rootA[] = "\\"; @@ -774,6 +774,9 @@ BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPSTR lpSubBlock, TRACE("(%p,%s,%p,%p)\n", pBlock, debugstr_a(lpSubBlock), lplpBuffer, puLen ); + if (!pBlock) + return FALSE; + if ( !VersionInfoIs16( info ) ) { BOOL ret; @@ -811,7 +814,7 @@ BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPSTR lpSubBlock, /*********************************************************************** * VerQueryValueW [VERSION.@] */ -BOOL WINAPI VerQueryValueW( LPVOID pBlock, LPWSTR lpSubBlock, +BOOL WINAPI VerQueryValueW( LPVOID pBlock, LPCWSTR lpSubBlock, LPVOID *lplpBuffer, UINT *puLen ) { static const WCHAR rootW[] = { '\\', 0 }; @@ -823,6 +826,9 @@ BOOL WINAPI VerQueryValueW( LPVOID pBlock, LPWSTR lpSubBlock, TRACE("(%p,%s,%p,%p)\n", pBlock, debugstr_w(lpSubBlock), lplpBuffer, puLen ); + if (!pBlock) + return FALSE; + if ( VersionInfoIs16( info ) ) { BOOL ret; diff --git a/reactos/include/psdk/winver.h b/reactos/include/psdk/winver.h index 72426b42cf4..d0d089bae3e 100644 --- a/reactos/include/psdk/winver.h +++ b/reactos/include/psdk/winver.h @@ -108,8 +108,8 @@ BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID); BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID); DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD); DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD); -BOOL WINAPI VerQueryValueA(const LPVOID,LPSTR,LPVOID*,PUINT); -BOOL WINAPI VerQueryValueW(const LPVOID,LPWSTR,LPVOID*,PUINT); +BOOL WINAPI VerQueryValueA(const LPVOID,LPCSTR,LPVOID*,PUINT); +BOOL WINAPI VerQueryValueW(const LPVOID,LPCWSTR,LPVOID*,PUINT); #ifdef UNICODE #define VerFindFile VerFindFileW #define VerQueryValue VerQueryValueW