Rollback em4x50_read() to remove a segv

Client was expecting a struct starting with an object count but ARM directly sends the array.
The struct is only used on this line in the whole repository, so reverting client is the easiest way to solve the issue.


Signed-off-by: Jean-Michel Picod <jmichel.p@gmail.com>
This commit is contained in:
Jean-Michel Picod 2025-06-08 21:10:02 +02:00 committed by GitHub
commit 7fd5730d89
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -639,10 +639,8 @@ int em4x50_read(em4x50_data_t *etd, em4x50_word_t *out) {
return PM3_ESOFT;
}
em4x50_read_data_response_t *o = (em4x50_read_data_response_t *)resp.data.asBytes;
em4x50_word_t words[EM4X50_NO_WORDS] = {0};
em4x50_prepare_result((uint8_t *)o->words, etd->addresses & 0xFF, (etd->addresses >> 8) & 0xFF, words);
em4x50_prepare_result(resp.data.asBytes, etd->addresses & 0xFF, (etd->addresses >> 8) & 0xFF, words);
if (out != NULL) {
memcpy(out, &words, sizeof(em4x50_word_t) * EM4X50_NO_WORDS);