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

Commit 3014733c authored by Christopher Tate's avatar Christopher Tate
Browse files

Don't crash if a null key is passed for verification/parsing

Change-Id: I77c496d9d86d2831a4166a924afe1493aa0ac0ce
parent 1c3f4092
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -3292,19 +3292,23 @@ public class PackageParser {
        if (packageName == null || packageName.length() == 0) {
            Slog.i(TAG, "verifier package name was null; skipping");
            return null;
        } else if (encodedPublicKey == null) {
            Slog.i(TAG, "verifier " + packageName + " public key was null; skipping");
        }

        PublicKey publicKey = parsePublicKey(encodedPublicKey);
        if (publicKey != null) {
        final PublicKey publicKey = parsePublicKey(encodedPublicKey);
        if (publicKey == null) {
            Slog.i(TAG, "Unable to parse verifier public key for " + packageName);
            return null;
        }

        return new VerifierInfo(packageName, publicKey);
    }

    public static final PublicKey parsePublicKey(final String encodedPublicKey) {
        if (encodedPublicKey == null) {
            Slog.i(TAG, "Could not parse null public key");
            return null;
        }

    public static final PublicKey parsePublicKey(String encodedPublicKey) {
        EncodedKeySpec keySpec;
        try {
            final byte[] encoded = Base64.decode(encodedPublicKey, Base64.DEFAULT);