From 751444a656ad7d6965acd8286278ed2cef44b4dd Mon Sep 17 00:00:00 2001 From: Erik Derr Date: Sun, 30 Sep 2018 21:19:14 +0200 Subject: [PATCH] Fixes IllegalStateException (#358) * Fixes IllegalStateException Reverts refactored code with try-with-resource back to potentially leaking implementation. The refactored code threw an exception since JarFileModule does not implement the AutoClosable interface. Further, removed the printStackTrace() call, as this is not an exceptional case but intended control-flow in case DexFileModule creation fails. * Downgrade JarFile leak diagnostic from warning to error This is consistent with how we are treating potential JarFile leaks in other WALA components. WALA issue #236 already notes that these should be cleaned up eventually, although doing so will not be easy. --- com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs | 2 +- .../src/com/ibm/wala/dalvik/util/AndroidAnalysisScope.java | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs index d22fd0370..87774fa85 100644 --- a/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs @@ -78,7 +78,7 @@ org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=error org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=error +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning org.eclipse.jdt.core.compiler.problem.rawTypeReference=error org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error diff --git a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidAnalysisScope.java b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidAnalysisScope.java index 00a35099d..4912bce21 100644 --- a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidAnalysisScope.java +++ b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidAnalysisScope.java @@ -50,10 +50,7 @@ public class AndroidAnalysisScope { try { scope.addToScope(ClassLoaderReference.Primordial, DexFileModule.make(new File(al))); } catch (Exception e) { - e.printStackTrace(); - try (final JarFile jar = new JarFile(new File(al))) { - scope.addToScope(ClassLoaderReference.Primordial, new JarFileModule(jar)); - } + scope.addToScope(ClassLoaderReference.Primordial, new JarFileModule(new JarFile(new File(al)))); } }