Skip to content
Snippets Groups Projects
Commit 218a868e authored by esaunders's avatar esaunders
Browse files

Check that the allocated node is large enough to be treated as a hfs_btree_key_cat.

parent 7410c783
No related branches found
No related tags found
No related merge requests found
...@@ -953,6 +953,15 @@ hfs_cat_traverse(HFS_INFO * hfs, ...@@ -953,6 +953,15 @@ hfs_cat_traverse(HFS_INFO * hfs,
return 1; return 1;
} }
if (sizeof(hfs_btree_key_cat) > nodesize - rec_off) {
tsk_error_set_errno(TSK_ERR_FS_GENFS);
tsk_error_set_errstr
("hfs_cat_traverse: record %d in index node %d truncated",
rec, cur_node);
free(node);
return 1;
}
key = (hfs_btree_key_cat *) & node[rec_off]; key = (hfs_btree_key_cat *) & node[rec_off];
keylen = 2 + tsk_getu16(hfs->fs_info.endian, key->key_len); keylen = 2 + tsk_getu16(hfs->fs_info.endian, key->key_len);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment