Skip to content

Commit 4901f11

Browse files
committed
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.
1 parent 28ef753 commit 4901f11

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

features/storage/kvstore/tdbstore/TDBStore.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1424,6 +1424,9 @@ int TDBStore::do_reserved_data_get(void *reserved_data, size_t reserved_data_buf
14241424
if (crc == trailer.crc) {
14251425
// Correct data, copy it and return to caller
14261426
if (reserved_data) {
1427+
if (reserved_data_buf_size < trailer.data_size) {
1428+
return MBED_ERROR_INVALID_SIZE;
1429+
}
14271430
memcpy(reserved_data, buf, trailer.data_size);
14281431
}
14291432
if (actual_data_size) {

0 commit comments

Comments
 (0)