diff options
| author | 2018-07-23 13:45:28 -0600 | |
|---|---|---|
| committer | 2018-08-08 11:25:24 -0700 | |
| commit | 344960b4d248b5101e277a8e3ffac3066da9ff96 (patch) | |
| tree | 77532851cfbf1a3b1f0447df80fa124a0088b13e | |
| parent | 9b04b2fd0b41b6bca58eb1d7116c597bb67856bd (diff) | |
Shuffle FD ownership? \noideadog
Test: manual
Bug: 111746860
Change-Id: I1d88bcf81efe71d622bcf3056a6d7c1a4c793383
(cherry picked from commit a651b7833743a22859635409d923729678ac40b1)
| -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); |