Use sizeof() to eliminate respecification of array bounds.

This commit is contained in:
2016-04-12 11:50:57 -04:00
parent 4ee91c655c
commit cd3960411a
1 changed files with 11 additions and 11 deletions

View File

@ -29,7 +29,7 @@ CFlashram::~CFlashram()
void CFlashram::DmaFromFlashram(uint8_t * dest, int32_t StartOffset, int32_t len) void CFlashram::DmaFromFlashram(uint8_t * dest, int32_t StartOffset, int32_t len)
{ {
uint8_t FlipBuffer[0x10000]; uint8_t FlipBuffer[1 << 16];
switch (m_FlashFlag) switch (m_FlashFlag)
{ {
case FLASHRAM_MODE_READ: case FLASHRAM_MODE_READ:
@ -37,13 +37,13 @@ void CFlashram::DmaFromFlashram(uint8_t * dest, int32_t StartOffset, int32_t len
{ {
return; return;
} }
if (len > 0x10000) if (len > sizeof(FlipBuffer))
{ {
if (bHaveDebugger()) if (bHaveDebugger())
{ {
g_Notify->DisplayError(stdstr_f("%s: DmaFromFlashram FlipBuffer to small (len: %d)", __FUNCTION__, len).c_str()); g_Notify->DisplayError(stdstr_f("%s: DmaFromFlashram FlipBuffer to small (len: %d)", __FUNCTION__, len).c_str());
} }
len = 0x10000; len = sizeof(FlipBuffer);
} }
if ((len & 3) != 0) if ((len & 3) != 0)
{ {
@ -76,7 +76,7 @@ void CFlashram::DmaFromFlashram(uint8_t * dest, int32_t StartOffset, int32_t len
g_Notify->DisplayError(stdstr_f("%s: Reading m_FlashStatus not being handled correctly\nStart: %X len: %X", __FUNCTION__, StartOffset, len).c_str()); g_Notify->DisplayError(stdstr_f("%s: Reading m_FlashStatus not being handled correctly\nStart: %X len: %X", __FUNCTION__, StartOffset, len).c_str());
} }
} }
*((uint32_t *)(dest)) = (uint32_t)((m_FlashStatus >> 32) & 0xFFFFFFFF); *((uint32_t *)(dest)+0) = (uint32_t)((m_FlashStatus >> 32) & 0xFFFFFFFF);
*((uint32_t *)(dest)+1) = (uint32_t)(m_FlashStatus & 0xFFFFFFFF); *((uint32_t *)(dest)+1) = (uint32_t)(m_FlashStatus & 0xFFFFFFFF);
break; break;
default: default:
@ -144,7 +144,7 @@ bool CFlashram::LoadFlashram()
void CFlashram::WriteToFlashCommand(uint32_t FlashRAM_Command) void CFlashram::WriteToFlashCommand(uint32_t FlashRAM_Command)
{ {
uint8_t EmptyBlock[128]; uint8_t EmptyBlock[16 * sizeof(int64_t)];
switch (FlashRAM_Command & 0xFF000000) switch (FlashRAM_Command & 0xFF000000)
{ {
@ -161,7 +161,7 @@ void CFlashram::WriteToFlashCommand(uint32_t FlashRAM_Command)
return; return;
} }
m_File.Seek(m_FlashRAM_Offset, CFile::begin); m_File.Seek(m_FlashRAM_Offset, CFile::begin);
m_File.Write(EmptyBlock, 128); m_File.Write(EmptyBlock, sizeof(EmptyBlock));
m_File.Flush(); m_File.Flush();
break; break;
case FLASHRAM_MODE_WRITE: case FLASHRAM_MODE_WRITE:
@ -170,15 +170,15 @@ void CFlashram::WriteToFlashCommand(uint32_t FlashRAM_Command)
return; return;
} }
{ {
uint8_t FlipBuffer[128]; uint8_t FlipBuffer[sizeof(EmptyBlock)];
register size_t edx; register size_t edx;
uint8_t * FlashRamPointer = m_FlashRamPointer; uint8_t * FlashRamPointer = m_FlashRamPointer;
memset(FlipBuffer, 0, sizeof(FlipBuffer)); memset(FlipBuffer, 0, sizeof(FlipBuffer));
memcpy(&FlipBuffer[0], FlashRamPointer, 128); memcpy(&FlipBuffer[0], FlashRamPointer, sizeof(EmptyBlock));
m_File.Seek(m_FlashRAM_Offset, CFile::begin); m_File.Seek(m_FlashRAM_Offset, CFile::begin);
m_File.Write(FlipBuffer, 128); m_File.Write(FlipBuffer, sizeof(EmptyBlock));
m_File.Flush(); m_File.Flush();
} }
break; break;
@ -197,7 +197,7 @@ void CFlashram::WriteToFlashCommand(uint32_t FlashRAM_Command)
m_FlashStatus = 0x11118004F0000000; m_FlashStatus = 0x11118004F0000000;
break; break;
case 0x4B000000: case 0x4B000000:
m_FlashRAM_Offset = (FlashRAM_Command & 0xffff) * 128; m_FlashRAM_Offset = (FlashRAM_Command & 0xFFFF) * sizeof(EmptyBlock);
break; break;
case 0x78000000: case 0x78000000:
m_FlashFlag = FLASHRAM_MODE_ERASE; m_FlashFlag = FLASHRAM_MODE_ERASE;
@ -207,7 +207,7 @@ void CFlashram::WriteToFlashCommand(uint32_t FlashRAM_Command)
m_FlashFlag = FLASHRAM_MODE_WRITE; //???? m_FlashFlag = FLASHRAM_MODE_WRITE; //????
break; break;
case 0xA5000000: case 0xA5000000:
m_FlashRAM_Offset = (FlashRAM_Command & 0xffff) * 128; m_FlashRAM_Offset = (FlashRAM_Command & 0xFFFF) * sizeof(EmptyBlock);
m_FlashStatus = 0x1111800400C2001E; m_FlashStatus = 0x1111800400C2001E;
break; break;
default: default: