From d83006cbe86545a1e8882b1a4ed90005ebf3423e Mon Sep 17 00:00:00 2001 From: Suchi Amalapurapu Date: Wed, 28 Oct 2009 23:39:46 -0700 Subject: When upgrading packages with shared user ids make sure we are eliminating the package about to be deleted or upgraded when updating permissions associated with the shared user. Include a simple null check when retrieving the permission. Fix PackageParser to avoid ArrayIndexOutOfBounds exceptions in several places --- core/java/android/content/pm/PackageParser.java | 26 ++++++++++++------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'core/java/android/content/pm') diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 54015c9..b798bde 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -201,11 +201,11 @@ public class PackageParser { } pi.activities = new ActivityInfo[num]; } - for (int i=0; i 0) { - pi.signatures = new Signature[N]; - System.arraycopy(p.mSignatures, 0, pi.signatures, 0, N); - } + int N = (p.mSignatures != null) ? p.mSignatures.length : 0; + if (N > 0) { + pi.signatures = new Signature[N]; + System.arraycopy(p.mSignatures, 0, pi.signatures, 0, N); } } return pi; -- cgit v1.1