From 6986343d4d34c818911f011e0f9c8356a1408494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E9=9B=AA=E7=8F=8A?= Date: Mon, 10 Jul 2023 14:57:01 +0800 Subject: [PATCH] close fd (#2616) --- .../org/lsposed/lspd/util/MetaDataReader.java | 29 +++++++------------ .../lspd/service/ConfigFileManager.java | 3 +- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/core/src/main/java/org/lsposed/lspd/util/MetaDataReader.java b/core/src/main/java/org/lsposed/lspd/util/MetaDataReader.java index e882843f..8a9400ff 100644 --- a/core/src/main/java/org/lsposed/lspd/util/MetaDataReader.java +++ b/core/src/main/java/org/lsposed/lspd/util/MetaDataReader.java @@ -40,22 +40,16 @@ public class MetaDataReader { } private MetaDataReader(File apk) throws IOException { - try (JarFile zip = new JarFile(apk)) { - InputStream is = zip.getInputStream(zip.getEntry("AndroidManifest.xml")); - byte[] bytes = getBytesFromInputStream(is); - AxmlReader reader = null; - if (bytes != null) { - reader = new AxmlReader(bytes); - } - if (reader != null) { - reader.accept(new AxmlVisitor() { - @Override - public NodeVisitor child(String ns, String name) { - NodeVisitor child = super.child(ns, name); - return new ManifestTagVisitor(child); - } - }); - } + try (JarFile zip = new JarFile(apk); + var is = zip.getInputStream(zip.getEntry("AndroidManifest.xml"))) { + var reader = new AxmlReader(getBytesFromInputStream(is)); + reader.accept(new AxmlVisitor() { + @Override + public NodeVisitor child(String ns, String name) { + NodeVisitor child = super.child(ns, name); + return new ManifestTagVisitor(child); + } + }); } } @@ -67,10 +61,7 @@ public class MetaDataReader { bos.write(b, 0, n); } return bos.toByteArray(); - } catch (Exception e) { - e.printStackTrace(); } - return null; } private class ManifestTagVisitor extends NodeVisitor { diff --git a/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java b/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java index bf91567a..f2a6d3f1 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java @@ -70,7 +70,6 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Locale; -import java.util.stream.Collectors; import java.util.zip.Deflater; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -241,7 +240,7 @@ public class ConfigFileManager { } static void getLogs(ParcelFileDescriptor zipFd) throws IllegalStateException { - try (var os = new ZipOutputStream(new FileOutputStream(zipFd.getFileDescriptor()))) { + try (zipFd; var os = new ZipOutputStream(new FileOutputStream(zipFd.getFileDescriptor()))) { var comment = String.format(Locale.ROOT, "LSPosed %s %s (%d)", BuildConfig.BUILD_TYPE, BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE); os.setComment(comment);