mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 05:43:48 -07:00
fix coverity CID 322780 - out-of-bounds
This commit is contained in:
parent
e8d5d81178
commit
861e06d8af
1 changed files with 8 additions and 2 deletions
|
@ -2033,18 +2033,24 @@ static int handler_desfire_writedata(mfdes_data_t *data, MFDES_FILE_TYPE_T type,
|
||||||
if (data->fileno > 0x1F) {
|
if (data->fileno > 0x1F) {
|
||||||
return PM3_EINVARG;
|
return PM3_EINVARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t datatowrite = le24toh(data->length);
|
uint32_t datatowrite = le24toh(data->length);
|
||||||
uint32_t offset = le24toh(data->offset);
|
uint32_t offset = le24toh(data->offset);
|
||||||
uint32_t datasize, recvlen = 0;
|
uint32_t datasize, recvlen = 0;
|
||||||
int res = PM3_SUCCESS;
|
int res = PM3_SUCCESS;
|
||||||
uint16_t sw = 0;
|
uint16_t sw = 0;
|
||||||
uint8_t tmp[60] = {0};
|
|
||||||
mfdes_data_t sdata;
|
mfdes_data_t sdata;
|
||||||
sAPDU apdu = {0x90, MFDES_WRITE_DATA, 0x00, 0x00, 0, (uint8_t *) &sdata}; // 0x3D
|
sAPDU apdu = {0x90, MFDES_WRITE_DATA, 0x00, 0x00, 0, (uint8_t *) &sdata}; // 0x3D
|
||||||
|
|
||||||
|
uint8_t tmp[61] = {0};
|
||||||
tmp[0] = MFDES_WRITE_DATA;
|
tmp[0] = MFDES_WRITE_DATA;
|
||||||
tmp[1] = data->fileno;
|
tmp[1] = data->fileno;
|
||||||
apdu.data = &tmp[1]; // tmp[0] is holding the OPCODE for macd calc, so we dont want it in the apdu
|
apdu.data = &tmp[1]; // tmp[0] is holding the OPCODE for macd calc, so we dont want it in the apdu
|
||||||
if (type == MFDES_RECORD_FILE) apdu.INS = MFDES_WRITE_RECORD;
|
|
||||||
|
if (type == MFDES_RECORD_FILE) {
|
||||||
|
apdu.INS = MFDES_WRITE_RECORD;
|
||||||
|
}
|
||||||
|
|
||||||
while (datatowrite) {
|
while (datatowrite) {
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue