mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
FATの改ざんで負のサイズが指定されることに対応、
DHT_PrepareDatabaseで代用できるようになったのでDHT_CheckDatabaseを非公開化 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1169 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
d3f78a78c3
commit
59658b9740
@ -114,7 +114,7 @@ u32 DHT_GetDatabaseLength(const DHTFile* pDHT)
|
|||||||
}
|
}
|
||||||
return sizeof(DHTHeader) + pDHT->header.nums * sizeof(DHTDatabase);
|
return sizeof(DHTHeader) + pDHT->header.nums * sizeof(DHTDatabase);
|
||||||
}
|
}
|
||||||
BOOL DHT_CheckDatabase(const DHTFile* pDHT)
|
static BOOL DHT_CheckDatabase(const DHTFile* pDHT)
|
||||||
{
|
{
|
||||||
SVCSignHeapContext pool;
|
SVCSignHeapContext pool;
|
||||||
u8 heap[4*1024];
|
u8 heap[4*1024];
|
||||||
@ -143,7 +143,6 @@ BOOL DHT_PrepareDatabase(DHTFile* pDHT, FSFile* fp)
|
|||||||
{
|
{
|
||||||
s32 result;
|
s32 result;
|
||||||
s32 length;
|
s32 length;
|
||||||
u8 title[4] = { 'H','N','G','A' };
|
|
||||||
PROFILE_INIT();
|
PROFILE_INIT();
|
||||||
|
|
||||||
if ( fp )
|
if ( fp )
|
||||||
@ -407,6 +406,11 @@ BOOL DHT_CheckHashPhase2(const u8* hash, const ROM_Header_Short* pROMHeader, DHT
|
|||||||
{
|
{
|
||||||
length = max_sectors;
|
length = max_sectors;
|
||||||
}
|
}
|
||||||
|
if ( length < 0 || offset < sizeof(ROM_Header) )
|
||||||
|
{
|
||||||
|
OS_TPrintf("Broaken FAT for %d of overlay.\n", i);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
if ( !ImageHMACSHA1Update(&ctx, offset, length * 512) )
|
if ( !ImageHMACSHA1Update(&ctx, offset, length * 512) )
|
||||||
{
|
{
|
||||||
OS_TPrintf("Cannot calc HMAC-SHA1 for %d of overlay.\n", i);
|
OS_TPrintf("Cannot calc HMAC-SHA1 for %d of overlay.\n", i);
|
||||||
|
|||||||
@ -48,17 +48,6 @@ typedef BOOL (*DHTReadFunc)(void* dest, s32 offset, s32 length, void* arg);
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
u32 DHT_GetDatabaseLength(const DHTFile* pDHT);
|
u32 DHT_GetDatabaseLength(const DHTFile* pDHT);
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
Name: DHT_PrepareDatabase
|
|
||||||
|
|
||||||
Description: 読み込み済みの全データベースの署名を検証する
|
|
||||||
|
|
||||||
Arguments: pDHT データベースの格納先
|
|
||||||
|
|
||||||
Returns: 成功すればTRUE
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL DHT_CheckDatabase(const DHTFile* pDHT);
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: DHT_PrepareDatabase
|
Name: DHT_PrepareDatabase
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user