dnie: fixed length checking of uncompressed data
fixes https://oss-fuzz.com/testcase-detail/5632848910614528
This commit is contained in:
parent
261e0b6b0d
commit
906108bb69
|
@ -944,16 +944,15 @@ static u8 *dnie_uncompress(sc_card_t * card, u8 * from, size_t *len)
|
|||
sc_log(card->ctx, "alloc() for uncompressed buffer failed");
|
||||
return NULL;
|
||||
}
|
||||
*len = uncompressed;
|
||||
res = sc_decompress(upt, /* try to uncompress by calling sc_xx routine */
|
||||
(size_t *) & uncompressed,
|
||||
len,
|
||||
from + 8, (size_t) compressed, COMPRESSION_ZLIB);
|
||||
/* TODO: check that returned uncompressed size matches expected */
|
||||
if (res != SC_SUCCESS) {
|
||||
sc_log(card->ctx, "Uncompress() failed or data not compressed");
|
||||
goto compress_exit; /* assume not need uncompression */
|
||||
}
|
||||
/* Done; update buffer len and return pt to uncompressed data */
|
||||
*len = uncompressed;
|
||||
sc_log_hex(card->ctx, "Compressed data", from + 8, compressed);
|
||||
sc_log_hex(card->ctx, "Uncompressed data", upt, uncompressed);
|
||||
compress_exit:
|
||||
|
|
Loading…
Reference in New Issue