diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerShellCommand.java | 15 | 
1 files changed, 8 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index 07dc404e08db..251b2773aa6b 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -1146,14 +1146,15 @@ class PackageManagerShellCommand extends ShellCommand {      private int doWriteSplit(int sessionId, String inPath, long sizeBytes, String splitName,              boolean logSuccess) throws RemoteException {          final PrintWriter pw = getOutPrintWriter(); -        if ("-".equals(inPath)) { -            inPath = null; -        } else if (inPath != null) { -            final File file = new File(inPath); -            if (file.isFile()) { -                sizeBytes = file.length(); -            } +        if (sizeBytes <= 0) { +            pw.println("Error: must specify a APK size"); +            return 1; +        } +        if (inPath != null && !"-".equals(inPath)) { +            pw.println("Error: APK content must be streamed"); +            return 1;          } +        inPath = null;          final SessionInfo info = mInterface.getPackageInstaller().getSessionInfo(sessionId);  |