Closed pierreluctg closed 2 years ago
@pierreluctg I'm looking into this now
@pierreluctg I've confirmed this is an issue inside icsneo40.dll itself. We allocate 64 max and then attempt to memcpy the length given in the struct. I'm writing up a bug internally for this.
@pierreluctg Would you prefer ics.transmit_messages()
to truncate or fail (raise an exception) when over 64 bytes here?
If NumberBytesData
is correctly set to 64 (max), ExtraDataPtr
should be able to point to a structure of at least 64 bytes. So in this case truncating is fine.
However, a more pythonic behavior would be to raise an exception.
I am ok with both.
This has been fixed upstream in icsneo40.dll so closing this out.
Heap corruption fatal exception can occur in
ics.transmit_messages
when using data over 64 bytes.I agree that data length over 64 bytes is not valid, but I do not believe it should produce a fatal exception.
The code bellow will produce the errors as seen here
(Most frequent)
or
or
Code to produce the issue
Events from Windows Event Viewer