diff options
| author | 2018-08-08 16:14:04 -0700 | |
|---|---|---|
| committer | 2018-08-08 16:14:04 -0700 | |
| commit | d2c9fc5190eb83f5e54258bb807bc03548c11fa7 (patch) | |
| tree | 8358240d23f47ffe20dc0d0fe397fd07559da0de | |
| parent | b2432b2ab3b2294bc6e34d9e0dafbdded0b70f71 (diff) | |
| parent | 46331602ae6360faa872b9dec7dc43a6e48151b0 (diff) | |
Merge "Shuffle FD ownership? \noideadog"
am: 46331602ae
Change-Id: I30e937d0a28361a8e12e9197ef38b0ca8c3840d7
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerShellCommand.java | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index cd9efdcf8224..9eb9ab9a1cec 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; + 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()); } - sizeBytes = fd.getStatSize(); - if (sizeBytes < 0) { - getErrPrintWriter().println("Unable to get size of: " + inPath); - return -1; + if (sizeBytes <= 0) { + getErrPrintWriter().println("Error: must specify a APK size"); + 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 { session = new PackageInstaller.Session( mInterface.getPackageInstaller().openSession(sessionId)); session.write(splitName, 0, sizeBytes, fd); |