From 1e5d36e31edc7a46d3cea0c1e65941f9dc753fc3 Mon Sep 17 00:00:00 2001 From: lingsheng Date: Fri, 18 Dec 2020 10:52:36 +0800 Subject: [PATCH] Add attributes file nodesize check --- tsk/fs/hfs.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tsk/fs/hfs.c b/tsk/fs/hfs.c index 3acc7ff..2f513cd 100644 --- a/tsk/fs/hfs.c +++ b/tsk/fs/hfs.c @@ -3922,6 +3922,18 @@ hfs_load_extended_attrs(TSK_FS_FILE * fs_file, return 1; } + // Is the Attributes file nodesize valid? + // byte size of each node(512..32768) + if (attrFile.nodeSize < 512 || attrFile.nodeSize > 32768) { + if (tsk_verbose) + tsk_fprintf(stderr, + "hfs_load_extended_attrs: Attributes file nodesize is invalid\n"); + close_attr_file(&attrFile); + *isCompressed = FALSE; + *cmpType = 0; + return 0; + } + // A place to hold one node worth of data nodeData = (uint8_t *) malloc(attrFile.nodeSize); if (nodeData == NULL) { -- 2.27.0