Skip to content

Commit 87b6e4f

Browse files
elevenfivephilippb
authored andcommitted
Fix resource leak (#53)
- From StrictMode policy violation: ``` android.os.strictmode.LeakedClosableViolation: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks. at android.os.StrictMode$AndroidCloseGuardReporter.report(StrictMode.java:1786) at dalvik.system.CloseGuard.warnIfOpen(CloseGuard.java:264) at java.util.zip.ZipFile.finalize(ZipFile.java:705) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:250) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:237) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764) Caused by: java.lang.Throwable: Explicit termination method 'close' not called at dalvik.system.CloseGuard.open(CloseGuard.java:221) at java.util.zip.ZipFile.<init>(ZipFile.java:247) at java.util.zip.ZipFile.<init>(ZipFile.java:152) at com.getkeepsafe.relinker.ApkLibraryInstaller.findAPKWithLibrary(ApkLibraryInstaller.java:71) at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:120) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136) at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70) at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:51) ```
1 parent e812ad3 commit 87b6e4f

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

relinker/src/main/java/com/getkeepsafe/relinker/ApkLibraryInstaller.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ public ZipFileInZipEntry(ZipFile zipFile, ZipEntry zipEntry) {
5959
}
6060

6161
private ZipFileInZipEntry findAPKWithLibrary(final Context context,
62-
final String[] abis,
63-
final String mappedLibraryName,
64-
final ReLinkerInstance instance) {
62+
final String[] abis,
63+
final String mappedLibraryName,
64+
final ReLinkerInstance instance) {
6565

6666
ZipFile zipFile = null;
6767
for (String sourceDir : sourceDirectories(context)) {
@@ -96,6 +96,11 @@ private ZipFileInZipEntry findAPKWithLibrary(final Context context,
9696
}
9797
}
9898
}
99+
100+
try {
101+
zipFile.close();
102+
} catch (IOException ignored) {
103+
}
99104
}
100105

101106
return null;

0 commit comments

Comments
 (0)