diff --git a/src/fido/cbor_large_blobs.c b/src/fido/cbor_large_blobs.c index 3b79296..ed2ec46 100644 --- a/src/fido/cbor_large_blobs.c +++ b/src/fido/cbor_large_blobs.c @@ -130,7 +130,7 @@ int cbor_large_blobs(const uint8_t *data, size_t len) { expectedNextOffset += set.len; if (expectedNextOffset == expectedLength) { uint8_t sha[32]; - mbedtls_sha256(temp_lba, expectedLength, sha, 0); + mbedtls_sha256(temp_lba, expectedLength-16, sha, 0); if (expectedLength > 17 && memcmp(sha, temp_lba+expectedLength-16, 16) != 0) CBOR_ERROR(CTAP2_ERR_INTEGRITY_FAILURE); flash_write_data_to_file(ef_largeblob, temp_lba, expectedLength);