fix: validate follow-up block size in SDO block download
This commit is contained in:
parent
9b8beed836
commit
f225362aa3
1 changed files with 5 additions and 0 deletions
|
|
@ -703,6 +703,11 @@ CO_SDOclientDownload(CO_SDOclient_t* SDO_C, uint32_t timeDifference_us, bool_t s
|
||||||
SDO_C->state = CO_SDO_ST_DOWNLOAD_BLK_END_REQ;
|
SDO_C->state = CO_SDO_ST_DOWNLOAD_BLK_END_REQ;
|
||||||
} else {
|
} else {
|
||||||
SDO_C->block_blksize = SDO_C->CANrxData[2];
|
SDO_C->block_blksize = SDO_C->CANrxData[2];
|
||||||
|
if ((SDO_C->block_blksize < 1U) || (SDO_C->block_blksize > 127U)) {
|
||||||
|
abortCode = CO_SDO_AB_CMD;
|
||||||
|
SDO_C->state = CO_SDO_ST_ABORT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
SDO_C->block_seqno = 0;
|
SDO_C->block_seqno = 0;
|
||||||
(void)CO_fifo_altBegin(&SDO_C->bufFifo, 0);
|
(void)CO_fifo_altBegin(&SDO_C->bufFifo, 0);
|
||||||
SDO_C->state = CO_SDO_ST_DOWNLOAD_BLK_SUBBLOCK_REQ;
|
SDO_C->state = CO_SDO_ST_DOWNLOAD_BLK_SUBBLOCK_REQ;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue