From 41fb08aef68d17440c4af6ca87e23af5656a2fca Mon Sep 17 00:00:00 2001 From: Eugene Livis Date: Fri, 9 Oct 2015 13:21:59 -0400 Subject: [PATCH] Modified Case class to be TSK error observer --- Core/src/org/sleuthkit/autopsy/casemodule/Case.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index c82c2c114b..fec211c56f 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -253,7 +253,7 @@ public class Case implements SleuthkitCase.ErrorObserver { private final XMLCaseManagement xmlcm; private final SleuthkitCase db; // Track the current case (only set with changeCase() method) - private static Case currentCase = null; + volatile private static Case currentCase = null; private final CaseType caseType; private final Services services; private static final Logger logger = Logger.getLogger(Case.class.getName()); @@ -376,9 +376,9 @@ public class Case implements SleuthkitCase.ErrorObserver { public void receiveError(String context, String errorMessage) { /* NOTE: We are accessing currentCase.tskErrorReporter from two different threads. * This is ok as long as we only read the value of currentCase.tskErrorReporter - * because currentCase.tskErrorReporter is declared as volatile. + * because both currentCase and tskErrorReporter are declared as volatile. */ - if (null != currentCase.tskErrorReporter) { + if (null != currentCase && null != currentCase.tskErrorReporter) { currentCase.tskErrorReporter.addProblems(context, errorMessage); } }