Проверку адекватности размера лучше делать внутри протоколов

This commit is contained in:
Eugene 2023-11-16 15:37:02 +03:00
parent e9afa962dd
commit 186bc8a6ef

View File

@ -110,6 +110,9 @@ void getMessage_from_Cm_Flash(void)
uint32_t block1, block2;
uint16_t FlashErr = 0;
if(InData > 2048) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_LENGHT, 0, 0); return;}
if((InAddr+InData) > 0x40000) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_ADDR, 0, 0); return;}
IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, COMMAND_ACCEPTED, 0, 0);
FactAddressFlash = InAddr + Bzero_Sector0_start;
@ -236,7 +239,7 @@ void getMessage_from_Cm_ZD24C02A(void)
break;
case WRITE:
//ZD24C02A_write(NByte, ArrayForTests);
break;
case VERIFY:
@ -253,9 +256,6 @@ void getMessage_from_Cm_ZD24C02A(void)
__interrupt void IPC_ISR0()
{
IPC_readCommand(IPC_CPU1_L_CM_R, 0, 0, &InCommand, &InAddr, &InData );
if(InData > 2048) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_LENGHT, 0, 0); return;}
if((InAddr+InData) > 0x40000) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_ADDR, 0, 0); return;}
IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, COMMAND_ACCEPTED, 0, 0);
switch(InCommand & 0xFFFF)
{