Open
Description
The invalid type of the package data leads to invalid casting in comprarison.
the struct iccom_package
has a wrong data
member type: char*
, which in comparison with ACK value expands the 0xD0 to 0xFFFFFFD0 (which is correct according to the signed type rules). And as long as 0xD0 (the proper ack) is not equal to 0xFFFFFFD0, then the comparison ACK always fails, and ICCom never gets an ACK package.
Bug discovered on x86 arch.
Solution: to change the data
member type to unsigned char*
.
Bug will be closed after testing.