From a46d9c9702f1de78ac1be88b525fecc7db03f612 Mon Sep 17 00:00:00 2001 From: forensicmatt Date: Mon, 23 Mar 2020 13:18:51 -0600 Subject: Warn on fixup validation instead of fail Warn that not all fixup array items were validated, but continue parsing. Added `valid_fixup` to MftEntry. Added tests. --- tests/test_entry.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tests/test_entry.rs (limited to 'tests') diff --git a/tests/test_entry.rs b/tests/test_entry.rs new file mode 100644 index 0000000..c95f2c7 --- /dev/null +++ b/tests/test_entry.rs @@ -0,0 +1,17 @@ +use mft::entry::MftEntry; +use serde_json; + +#[test] +fn test_entry_invalid_fixup_value() { + let mft_entry_buffer = include_bytes!("../samples/entry_102130_fixup_issue"); + + let entry = MftEntry::from_buffer( + mft_entry_buffer.to_vec(), + 102130 + ).expect("Failed to parse entry"); + + assert_eq!(entry.valid_fixup, Some(false)); + + let mft_json_value = serde_json::to_value(&entry).expect("Error serializing MftEntry"); + assert_eq!(mft_json_value["valid_fixup"], serde_json::value::Value::from(false)); +} \ No newline at end of file -- cgit v1.2.3