From 83dce3642abb44fb83384a2e95ce2b89bfd80e20 Mon Sep 17 00:00:00 2001 From: David Brazdil Date: Mon, 20 Jun 2016 14:06:42 +0100 Subject: 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 --- services/core/java/com/android/server/pm/PackageManagerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3-59-g8ed1b