mirror of https://github.com/ARMmbed/mbed-os.git
KVStore: Fix buffer overrun when device key size doesn't match
This change fixes buffer overrun when injected device key is 32-byte but read as 16-byte.pull/12875/head
parent
af4c8a94f3
commit
bde1f56399
|
|
@ -1424,6 +1424,9 @@ int TDBStore::do_reserved_data_get(void *reserved_data, size_t reserved_data_buf
|
|||
if (crc == trailer.crc) {
|
||||
// Correct data, copy it and return to caller
|
||||
if (reserved_data) {
|
||||
if (reserved_data_buf_size < trailer.data_size) {
|
||||
return MBED_ERROR_INVALID_SIZE;
|
||||
}
|
||||
memcpy(reserved_data, buf, trailer.data_size);
|
||||
}
|
||||
if (actual_data_size) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue