36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
|
|
From 6d709c18097b2b60a8583baf0714648a363b724e Mon Sep 17 00:00:00 2001
|
||
|
|
From: lingsheng <lingsheng@huawei.com>
|
||
|
|
Date: Fri, 18 Dec 2020 10:52:36 +0800
|
||
|
|
Subject: [PATCH] Add attributes file nodesize check
|
||
|
|
|
||
|
|
---
|
||
|
|
tsk/fs/hfs.c | 11 +++++++++++
|
||
|
|
1 file changed, 11 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/tsk/fs/hfs.c b/tsk/fs/hfs.c
|
||
|
|
index 43dc2a9..636c4b7 100644
|
||
|
|
--- a/tsk/fs/hfs.c
|
||
|
|
+++ b/tsk/fs/hfs.c
|
||
|
|
@@ -3970,6 +3970,18 @@ hfs_load_extended_attrs(TSK_FS_FILE * fs_file,
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
+ // 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.23.0
|
||
|
|
|