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

Commit 019853c5 authored by Jackal Guo's avatar Jackal Guo Committed by Automerger Merge Worker
Browse files

[RESTRICT AUTOMERGE] Limit length of the name in <uses-permission> am: de8ef32d

parents aa2736e3 de8ef32d
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -245,6 +245,9 @@ public class ParsingPackageUtils {
    private static final String MAX_NUM_COMPONENTS_ERR_MSG =
    private static final String MAX_NUM_COMPONENTS_ERR_MSG =
            "Total number of components has exceeded the maximum number: " + MAX_NUM_COMPONENTS;
            "Total number of components has exceeded the maximum number: " + MAX_NUM_COMPONENTS;


    /** The maximum permission name length. */
    private static final int MAX_PERMISSION_NAME_LENGTH = 512;

    @IntDef(flag = true, prefix = { "PARSE_" }, value = {
    @IntDef(flag = true, prefix = { "PARSE_" }, value = {
            PARSE_CHATTY,
            PARSE_CHATTY,
            PARSE_COLLECT_CERTIFICATES,
            PARSE_COLLECT_CERTIFICATES,
@@ -1271,6 +1274,11 @@ public class ParsingPackageUtils {
            // that may change.
            // that may change.
            String name = sa.getNonResourceString(
            String name = sa.getNonResourceString(
                    R.styleable.AndroidManifestUsesPermission_name);
                    R.styleable.AndroidManifestUsesPermission_name);
            if (TextUtils.length(name) > MAX_PERMISSION_NAME_LENGTH) {
                return input.error(INSTALL_PARSE_FAILED_MANIFEST_MALFORMED,
                        "The name in the <uses-permission> is greater than "
                                + MAX_PERMISSION_NAME_LENGTH);
            }


            int maxSdkVersion = 0;
            int maxSdkVersion = 0;
            TypedValue val = sa.peekValue(
            TypedValue val = sa.peekValue(