From 821888da829fce7257dbd992a5d6e41242bd2c3b Mon Sep 17 00:00:00 2001 From: Jeff Wallace Date: Tue, 3 Dec 2013 12:20:03 -0500 Subject: [PATCH] Fixed npe while getting data source name for local files. --- .../datamodel/BlackboardArtifactNode.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java index 27caebc469..8eba8f4616 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java @@ -33,6 +33,7 @@ import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardAttribute; import org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE; import org.sleuthkit.datamodel.Content; +import org.sleuthkit.datamodel.Image; import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.datamodel.TskException; @@ -140,7 +141,12 @@ public class BlackboardArtifactNode extends DisplayableItemNode { } else { String dataSource = ""; try { - dataSource = associated.getImage().getName(); + Image image = associated.getImage(); + if (image != null) { + dataSource = image.getName(); + } else { + dataSource = getRootParentName(); + } } catch (TskCoreException ex) { logger.log(Level.WARNING, "Failed to get image name from " + associated.getName()); } @@ -153,6 +159,20 @@ public class BlackboardArtifactNode extends DisplayableItemNode { return s; } + + private String getRootParentName() { + String parentName = associated.getName(); + Content parent = associated; + try { + while ((parent = parent.getParent()) != null) { + parentName = parent.getName(); + } + } catch (TskCoreException ex) { + logger.log(Level.WARNING, "Failed to get parent name from " + associated.getName()); + return ""; + } + return parentName; + } /** * Add an additional custom node property to that node before it is