diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/FileTypeViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/FileTypeViewer.java index 48cb044af1..c7f387c33c 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/FileTypeViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/FileTypeViewer.java @@ -52,6 +52,13 @@ interface FileTypeViewer { * fine. Otherwise, it is ambiguous. */ void resetComponent(); - + + /** + * Identify whether the viewer is supported for the given file + * + * @param file to check support for of the appropriate MIME type + * + * @return true if supported false otherwise + */ boolean isSupported(AbstractFile file); } diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/WindowsRegistryViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/WindowsRegistryViewer.java index 92bf51c01a..f9f33e2324 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/WindowsRegistryViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/WindowsRegistryViewer.java @@ -43,6 +43,7 @@ class WindowsRegistryViewer extends JPanel implements FileTypeViewer { private static final long serialVersionUID = 1L; private static final Logger logger = Logger.getLogger(WindowsRegistryViewer.class.getName()); private static final String[] SUPPORTED_MIMETYPES = new String[]{"custom/windows-nt-registry"}; + private static final int MIN_REGISTRY_FILE_SIZE = 1025; //size in bytes private RejView regview; private AbstractFile lastFile; @@ -58,7 +59,7 @@ class WindowsRegistryViewer extends JPanel implements FileTypeViewer { this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - if (content.getSize() == 0) { + if (content.getSize() < MIN_REGISTRY_FILE_SIZE) { return; } @@ -98,7 +99,7 @@ class WindowsRegistryViewer extends JPanel implements FileTypeViewer { if (file == null) { return false; } - if (file.getSize() == 0) { + if (file.getSize() < MIN_REGISTRY_FILE_SIZE) { return false; } byte[] header = new byte[0x4000]; @@ -134,8 +135,6 @@ class WindowsRegistryViewer extends JPanel implements FileTypeViewer { return; //prevent from loading twice if setNode() called mult. times } lastFile = file; - if (isSupported(file)) { - this.setDataView(file); - } + this.setDataView(file); } } diff --git a/Core/src/org/sleuthkit/autopsy/rejview/RejTreeView.java b/Core/src/org/sleuthkit/autopsy/rejview/RejTreeView.java index 3131c7e66a..86df5a5048 100644 --- a/Core/src/org/sleuthkit/autopsy/rejview/RejTreeView.java +++ b/Core/src/org/sleuthkit/autopsy/rejview/RejTreeView.java @@ -89,7 +89,7 @@ final class RejTreeView extends JScrollPane implements TreeExpansionListener, Tr TreePath path = event.getPath(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); - if (node.getChildCount() == 0) { + if (node instanceof RejTreeNode && node.getChildCount() == 0) { RejTreeNode n = (RejTreeNode) node.getUserObject(); for (RejTreeNode rejTreeNode : n.getChildren()) { node.add(getTreeNode(rejTreeNode));