Protects against a null statusReceiver in uninstall

This change protects against the caller passing null for
the statusReceiver when uninstalling.

Bug: 129859594
Test: atest AtomicInstallTest
Change-Id: Iffe89151b830ff85492ab09d2a80a101cbd17a66
This commit is contained in:
Patrick Baumann
2019-04-11 12:43:05 -07:00
parent 10673d513f
commit 466ddb56b4

View File

@@ -813,7 +813,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
@Override
public void uninstall(VersionedPackage versionedPackage, String callerPackageName, int flags,
IntentSender statusReceiver, int userId) throws RemoteException {
IntentSender statusReceiver, int userId) {
final int callingUid = Binder.getCallingUid();
mPermissionManager.enforceCrossUserPermission(callingUid, userId, true, true, "uninstall");
if ((callingUid != Process.SHELL_UID) && (callingUid != Process.ROOT_UID)) {
@@ -952,6 +952,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
@Override
public void onUserActionRequired(Intent intent) {
if (mTarget == null) {
return;
}
final Intent fillIn = new Intent();
fillIn.putExtra(PackageInstaller.EXTRA_PACKAGE_NAME, mPackageName);
fillIn.putExtra(PackageInstaller.EXTRA_STATUS,
@@ -972,6 +975,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
SystemMessage.NOTE_PACKAGE_STATE,
mNotification);
}
if (mTarget == null) {
return;
}
final Intent fillIn = new Intent();
fillIn.putExtra(PackageInstaller.EXTRA_PACKAGE_NAME, mPackageName);
fillIn.putExtra(PackageInstaller.EXTRA_STATUS,