mirror of
https://github.com/reactos/reactos.git
synced 2025-05-31 06:58:10 +00:00
fix crash in VerQueryValueA/W
svn path=/trunk/; revision=26379
This commit is contained in:
parent
da377e0f0b
commit
c35151ce3d
2 changed files with 10 additions and 4 deletions
|
@ -764,7 +764,7 @@ static BOOL WINAPI VersionInfo32_QueryValue( VS_VERSION_INFO_STRUCT32 *info, LPC
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* VerQueryValueA [VERSION.@]
|
* VerQueryValueA [VERSION.@]
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPSTR lpSubBlock,
|
BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPCSTR lpSubBlock,
|
||||||
LPVOID *lplpBuffer, UINT *puLen )
|
LPVOID *lplpBuffer, UINT *puLen )
|
||||||
{
|
{
|
||||||
static const char rootA[] = "\\";
|
static const char rootA[] = "\\";
|
||||||
|
@ -774,6 +774,9 @@ BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPSTR lpSubBlock,
|
||||||
TRACE("(%p,%s,%p,%p)\n",
|
TRACE("(%p,%s,%p,%p)\n",
|
||||||
pBlock, debugstr_a(lpSubBlock), lplpBuffer, puLen );
|
pBlock, debugstr_a(lpSubBlock), lplpBuffer, puLen );
|
||||||
|
|
||||||
|
if (!pBlock)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
if ( !VersionInfoIs16( info ) )
|
if ( !VersionInfoIs16( info ) )
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
@ -811,7 +814,7 @@ BOOL WINAPI VerQueryValueA( LPVOID pBlock, LPSTR lpSubBlock,
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* VerQueryValueW [VERSION.@]
|
* VerQueryValueW [VERSION.@]
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI VerQueryValueW( LPVOID pBlock, LPWSTR lpSubBlock,
|
BOOL WINAPI VerQueryValueW( LPVOID pBlock, LPCWSTR lpSubBlock,
|
||||||
LPVOID *lplpBuffer, UINT *puLen )
|
LPVOID *lplpBuffer, UINT *puLen )
|
||||||
{
|
{
|
||||||
static const WCHAR rootW[] = { '\\', 0 };
|
static const WCHAR rootW[] = { '\\', 0 };
|
||||||
|
@ -823,6 +826,9 @@ BOOL WINAPI VerQueryValueW( LPVOID pBlock, LPWSTR lpSubBlock,
|
||||||
TRACE("(%p,%s,%p,%p)\n",
|
TRACE("(%p,%s,%p,%p)\n",
|
||||||
pBlock, debugstr_w(lpSubBlock), lplpBuffer, puLen );
|
pBlock, debugstr_w(lpSubBlock), lplpBuffer, puLen );
|
||||||
|
|
||||||
|
if (!pBlock)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
if ( VersionInfoIs16( info ) )
|
if ( VersionInfoIs16( info ) )
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
|
|
@ -108,8 +108,8 @@ BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
|
||||||
BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
|
BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
|
||||||
DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
|
DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
|
||||||
DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
|
DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
|
||||||
BOOL WINAPI VerQueryValueA(const LPVOID,LPSTR,LPVOID*,PUINT);
|
BOOL WINAPI VerQueryValueA(const LPVOID,LPCSTR,LPVOID*,PUINT);
|
||||||
BOOL WINAPI VerQueryValueW(const LPVOID,LPWSTR,LPVOID*,PUINT);
|
BOOL WINAPI VerQueryValueW(const LPVOID,LPCWSTR,LPVOID*,PUINT);
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
#define VerFindFile VerFindFileW
|
#define VerFindFile VerFindFileW
|
||||||
#define VerQueryValue VerQueryValueW
|
#define VerQueryValue VerQueryValueW
|
||||||
|
|
Loading…
Reference in a new issue