DELUGE: tos-deluge corrupts mote ram data (AT45DB erase/inject commands) #180
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
"tos-deluge" corrupts mote ram data when erasing "ident" header (AT45DB erase/inject commands).
It is part of AT45DB erasing. "tos-deluge" sends too large serial packet and memcpy() destroys mote ram data. "tos-deluge" is trying to write "0xff" * DELUGE_IDENT_SIZE (==128) that is larger than usual serial packet length (SERIAL_DATA_LENGTH==28-8) and that is larger than prepared buffer size (uint8_t buffer[TOSH_DATA_LENGTH]).
Erasing of "nx_uint32_t uidhash;" at the begining of DelugeIdent structure seems to be sufficient.
M.C>