diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java index 1bb46a3ce..8276fae2a 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java @@ -243,10 +243,14 @@ public class AssemblyAnalyzer extends AbstractFileTypeAnalyzer { throw new AnalysisException("Could not execute .NET AssemblyAnalyzer"); } } catch (Throwable e) { - LOGGER.warning("An error occured with the .NET AssemblyAnalyzer; " - + "this can be ignored unless you are scanning .NET DLLs. Please see the log for more details."); - LOGGER.log(Level.FINE, "Could not execute GrokAssembly {0}", e.getMessage()); - throw new AnalysisException("An error occured with the .NET AssemblyAnalyzer", e); + if (e instanceof AnalysisException) { + throw (AnalysisException) e; + } else { + LOGGER.warning("An error occured with the .NET AssemblyAnalyzer; " + + "this can be ignored unless you are scanning .NET DLLs. Please see the log for more details."); + LOGGER.log(Level.FINE, "Could not execute GrokAssembly {0}", e.getMessage()); + throw new AnalysisException("An error occured with the .NET AssemblyAnalyzer", e); + } } finally { if (rdr != null) { try { diff --git a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java index da73e7eb6..2d7573c41 100644 --- a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java +++ b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java @@ -59,7 +59,11 @@ public class AssemblyAnalyzerTest extends BaseTest { analyzer.supportsExtension("dll"); analyzer.initialize(); } catch (Exception e) { - LOGGER.log(Level.WARNING, "Exception setting up AssemblyAnalyzer. Tests will be incomplete", e); + if (e.getMessage().contains("Could not execute .NET AssemblyAnalyzer")) { + LOGGER.log(Level.WARNING, "Exception setting up AssemblyAnalyzer. Tests will be incomplete"); + } else { + LOGGER.log(Level.WARNING, "Exception setting up AssemblyAnalyzer. Tests will be incomplete", e); + } Assume.assumeNoException("Is mono installed? TESTS WILL BE INCOMPLETE", e); } }