From 542a22147201603d54c95d2f9ad10f22807c81ea Mon Sep 17 00:00:00 2001 From: Tim McIver Date: Thu, 18 Apr 2013 11:25:57 -0400 Subject: [PATCH] Removed unnecessary range processing code on the incoming AbstractFile. Also using AbstractFile.convertToImgOffset() method for creating TskFileRange objects used in creating a carved file. --- .../scalpel/ScalpelCarverIngestModule.java | 32 ++++--------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/ScalpelCarverIngestModule.java b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/ScalpelCarverIngestModule.java index ef1551e3f8..5939106d4e 100644 --- a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/ScalpelCarverIngestModule.java +++ b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/ScalpelCarverIngestModule.java @@ -21,7 +21,6 @@ package org.sleuthkit.autopsy.scalpel; import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.logging.Level; import javax.swing.JPanel; @@ -82,23 +81,6 @@ public class ScalpelCarverIngestModule implements IngestModuleAbstractFile { return ProcessResult.OK; } - // get the TskFileRange object for this AbstractFile - List fileData = Collections.EMPTY_LIST; - try { - fileData = abstractFile.getRanges(); - } catch (TskCoreException ex) { - logger.log(Level.SEVERE, "There was a problem while getting the TskFileRanges for this AbstractFile: " + abstractFile.getName(), ex); - } - if (fileData.size() > 1) { - logger.log(Level.WARNING, "The AbstractFile to be parsed (" + - abstractFile.getName() + ") has more than one TskFileRange object; carving supports only processing one TskFileRange object at this time."); - } else if (fileData.size() == 0) { - logger.log(Level.SEVERE, "The AbstractFile to be parsed (" + - abstractFile.getName() + ") has only one TskFileRange object; aborting."); - return ProcessResult.OK; - } - TskFileRange inputFileRange = fileData.get(0); - // create the output directory for this run String scalpelOutputDirPath = moduleOutputDirPath + File.separator + abstractFile.getId(); File scalpelOutputDir = new File(scalpelOutputDirPath); @@ -147,22 +129,22 @@ public class ScalpelCarverIngestModule implements IngestModuleAbstractFile { } // output = new ArrayList(); -// output.add(new CarvedFileMeta("carved-from-" + abstractFile.getId() + ".txt", 0, inputFileRange.getByteLen())); +// output.add(new CarvedFileMeta("carved-from-" + abstractFile.getId() + ".txt", 0, abstractFile.getSize())); // add a carved file to the DB for each file that scalpel carved SleuthkitCase db = Case.getCurrentCase().getSleuthkitCase(); - List carvedFiles = new ArrayList(); + List carvedFiles = new ArrayList(output.size()); for (CarvedFileMeta carvedFileMeta : output) { // calculate the byte offset of this carved file - long byteOffset = inputFileRange.getByteStart() + carvedFileMeta.getByteStart(); + long byteOffset = abstractFile.convertToImgOffset(carvedFileMeta.getByteStart()); + + // get the size of the carved file + long size = carvedFileMeta.getByteLength(); // create the list of TskFileRange objects List data = new ArrayList(); - data.add(new TskFileRange(byteOffset, carvedFileMeta.getByteLength(), 0)); - - // get the size of this carved file - long size = carvedFileMeta.getByteLength(); + data.add(new TskFileRange(byteOffset, size, 0)); // add the carved file try {