summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author David Brazdil <dbrazdil@google.com> 2016-06-20 14:06:42 +0100
committer David Brazdil <dbrazdil@google.com> 2016-06-20 17:56:25 +0100
commit83dce3642abb44fb83384a2e95ce2b89bfd80e20 (patch)
treea94e81ea4e93d30618a6d939d622015cb2f554ff
parentc1720dce1b01893bf925267381ff4975095a718a (diff)
Fix NPE in reading package-usage.list file
A zero-length file is a valid package usage file of version 0 but checking against the version 1 magic would throw a NPE. Bug: 29491065 Change-Id: Ie54b1dd3218e4b1251c29db0c784a5ddf605394f
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index a560c83ef92e..1f3f0bec847f 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -1214,7 +1214,9 @@ public class PackageManagerService extends IPackageManager.Stub {
StringBuffer sb = new StringBuffer();
String firstLine = readLine(in, sb);
- if (firstLine.equals(USAGE_FILE_MAGIC_VERSION_1)) {
+ if (firstLine == null) {
+ // Empty file. Do nothing.
+ } else if (USAGE_FILE_MAGIC_VERSION_1.equals(firstLine)) {
readVersion1LP(in, sb);
} else {
readVersion0LP(in, sb, firstLine);