diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index 18371662b72b9..1efc645cc7c44 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -7489,7 +7489,9 @@ class PackageManagerService extends IPackageManager.Stub { private Signature[] mSignatures; PackageSignatures(PackageSignatures orig) { - mSignatures = orig.mSignatures.clone(); + if (orig != null && orig.mSignatures != null) { + mSignatures = orig.mSignatures.clone(); + } } PackageSignatures(Signature[] sigs) { @@ -7830,7 +7832,10 @@ class PackageManagerService extends IPackageManager.Stub { GrantedPermissions(GrantedPermissions base) { pkgFlags = base.pkgFlags; grantedPermissions = (HashSet) base.grantedPermissions.clone(); - gids = base.gids.clone(); + + if (base.gids != null) { + gids = base.gids.clone(); + } } void setFlags(int pkgFlags) {