diff --git a/360/xdk360_video.cpp b/360/xdk360_video.cpp index 9bfaf7183c..94c5b7074b 100644 --- a/360/xdk360_video.cpp +++ b/360/xdk360_video.cpp @@ -108,6 +108,7 @@ const DWORD g_MapLinearToSrgbGpuFormat[] = struct XPR_HEADER { + unsigned long dwMagic; unsigned long dwHeaderSize; unsigned long dwDataSize; }; @@ -164,6 +165,13 @@ HRESULT PackedResource::Create( const char * strFilename ) return E_FAIL; } + if( xprh.dwMagic != XPR2_MAGIC_VALUE ) + { + RARCH_ERR( "Invalid Xbox Packed Resource (.xpr) file: Magic = 0x%08lx.\n", xprh.dwMagic ); + CloseHandle( hFile ); + return E_FAIL; + } + // Compute memory requirements m_dwSysMemDataSize = xprh.dwHeaderSize; m_dwVidMemDataSize = xprh.dwDataSize;