From 344960b4d248b5101e277a8e3ffac3066da9ff96 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 23 Jul 2018 13:45:28 -0600 Subject: [PATCH] Shuffle FD ownership? \noideadog Test: manual Bug: 111746860 Change-Id: I1d88bcf81efe71d622bcf3056a6d7c1a4c793383 (cherry picked from commit a651b7833743a22859635409d923729678ac40b1) --- .../server/pm/PackageManagerShellCommand.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index cd9efdcf8224b..9eb9ab9a1cec7 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -2418,30 +2418,30 @@ class PackageManagerShellCommand extends ShellCommand { private int doWriteSplit(int sessionId, String inPath, long sizeBytes, String splitName, boolean logSuccess) throws RemoteException { - final PrintWriter pw = getOutPrintWriter(); - final ParcelFileDescriptor fd; - if (STDIN_PATH.equals(inPath)) { - fd = new ParcelFileDescriptor(getInFileDescriptor()); - } else if (inPath != null) { - fd = openFileForSystem(inPath, "r"); - if (fd == null) { - return -1; - } - sizeBytes = fd.getStatSize(); - if (sizeBytes < 0) { - getErrPrintWriter().println("Unable to get size of: " + inPath); - return -1; - } - } else { - fd = new ParcelFileDescriptor(getInFileDescriptor()); - } - if (sizeBytes <= 0) { - getErrPrintWriter().println("Error: must specify a APK size"); - return 1; - } - PackageInstaller.Session session = null; try { + final PrintWriter pw = getOutPrintWriter(); + final ParcelFileDescriptor fd; + if (STDIN_PATH.equals(inPath)) { + fd = ParcelFileDescriptor.dup(getInFileDescriptor()); + } else if (inPath != null) { + fd = openFileForSystem(inPath, "r"); + if (fd == null) { + return -1; + } + sizeBytes = fd.getStatSize(); + if (sizeBytes < 0) { + getErrPrintWriter().println("Unable to get size of: " + inPath); + return -1; + } + } else { + fd = ParcelFileDescriptor.dup(getInFileDescriptor()); + } + if (sizeBytes <= 0) { + getErrPrintWriter().println("Error: must specify a APK size"); + return 1; + } + session = new PackageInstaller.Session( mInterface.getPackageInstaller().openSession(sessionId)); session.write(splitName, 0, sizeBytes, fd);