OSDN Git Service

Handle renamed packages during default grants
authorSvet Ganov <svetoslavganov@google.com>
Tue, 17 Nov 2015 19:53:18 +0000 (11:53 -0800)
committerSvet Ganov <svetoslavganov@google.com>
Tue, 17 Nov 2015 19:53:31 +0000 (11:53 -0800)
If an L device has a privileged app on the system image which was
updated and an M OTA renames the app package (supported only for
privileged apps) we end up with a disabled system package setting
with no package information. Since we are not doing a null check
of the package we get from the disabled package settings during
default grants we crash leaving the system in a bad state.

bug:25687380

Change-Id: I4f2ebcaf471e4bd1696298eab4716b50c52ca5c4

services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java

index a7682dc..a5c6180 100644 (file)
@@ -848,7 +848,7 @@ final class DefaultPermissionGrantPolicy {
             return false;
         }
         PackageSetting sysPkg = mService.mSettings.getDisabledSystemPkgLPr(pkg.packageName);
-        if (sysPkg != null) {
+        if (sysPkg != null && sysPkg.pkg != null) {
             if ((sysPkg.pkg.applicationInfo.flags & ApplicationInfo.FLAG_PERSISTENT) == 0) {
                 return false;
             }