From 1de22da763576cd54b2d3d51bc47ce99cf89f1ab Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Mon, 13 Jun 2016 14:41:41 -0700 Subject: [PATCH] Prevent crash from null ApplicationInfo after package is removed. Bug: 29234926 Change-Id: I8c2fed7c7e862e1f6798d5ed535d1937f9a74c1a --- .../java/com/android/server/am/ActivityManagerService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 9229b28e6cb70..7ed81238d3ab5 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -17658,6 +17658,11 @@ public final class ActivityManagerService extends ActivityManagerNative getPackageManagerInternalLocked().getApplicationInfo( ssp, userId); + if (aInfo == null) { + Slog.w(TAG, "Dropping ACTION_PACKAGE_REPLACED for non-existent pkg:" + + " ssp=" + ssp + " data=" + data); + return ActivityManager.BROADCAST_SUCCESS; + } mStackSupervisor.updateActivityApplicationInfoLocked(aInfo); sendPackageBroadcastLocked(IApplicationThread.PACKAGE_REPLACED, new String[] {ssp}, userId);