Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 883b96d5 authored by Keith Craigie's avatar Keith Craigie
Browse files

Fixed NPE in

com.android.packageinstaller.InstallStart#declaresAppOpPermission

Failing CTS tests in
android.packageinstaller.externalsources.cts.ExternalSourcesTest
reveal a NPE in InstallStart#declaresAppOpPermission. Turns out
android.content.pm.IPackageManager#getAppOpPermissionPackages can validly
return null, yet this code does not check for null before iterating.

Bug: 62272351

Test: Re-ran CTS test: run cts -m CtsExternalSourcesTestCases
-t android.packageinstaller.externalsources.cts.ExternalSourcesTest -l
DEBUG -s 01f2301c0f6ac226 -a armeabi-v7a
(cherry picked from commit 67f7aaef9646b5fcc6d1efcd10e623e9add33e7c)

Change-Id: I2637b4fd12f0d8487211f411bee850571d8bad9a
parent d97f9e45
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -131,6 +131,9 @@ public class InstallStart extends Activity {
    private boolean declaresAppOpPermission(int uid, String permission) {
        try {
            final String[] packages = mIPackageManager.getAppOpPermissionPackages(permission);
            if (packages == null) {
                return false;
            }
            for (String packageName : packages) {
                try {
                    if (uid == getPackageManager().getPackageUid(packageName, 0)) {