mirror of
https://github.com/simh/simh.git
synced 2026-04-18 08:57:25 +00:00
ETHER: Fix packet length check to properly accomodate CRC data if needed
As discussed in #419
This commit is contained in:
@@ -907,7 +907,7 @@ void ethq_insert_data(ETH_QUE* que, int32 type, const uint8 *data, int used, siz
|
|||||||
item->packet.len = len;
|
item->packet.len = len;
|
||||||
item->packet.used = used;
|
item->packet.used = used;
|
||||||
item->packet.crc_len = crc_len;
|
item->packet.crc_len = crc_len;
|
||||||
if (MAX (len, crc_len) <= sizeof (item->packet.msg) - ETH_CRC_SIZE) {
|
if (MAX (len, crc_len) <= sizeof (item->packet.msg)) {
|
||||||
memcpy(item->packet.msg, data, ((len > crc_len) ? len : crc_len));
|
memcpy(item->packet.msg, data, ((len > crc_len) ? len : crc_len));
|
||||||
if (crc_data && (crc_len > len))
|
if (crc_data && (crc_len > len))
|
||||||
memcpy(&item->packet.msg[len], crc_data, ETH_CRC_SIZE);
|
memcpy(&item->packet.msg[len], crc_data, ETH_CRC_SIZE);
|
||||||
|
|||||||
Reference in New Issue
Block a user