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

Commit d4a0c8d6 authored by Pawan Wagh's avatar Pawan Wagh Committed by Automerger Merge Worker
Browse files

Merge "Limit values of data position in fuzzer" am: a6d21afb am: 8bde264a...

Merge "Limit values of data position in fuzzer" am: a6d21afb am: 8bde264a am: c790767e am: 80204d87

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2475021



Change-Id: I3a4d457f5cd29162e4164a902d420de7bb413777
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 8832c25c 80204d87
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ public class ReadUtils {
    public static ReadOperation[] READ_OPERATIONS =
            new ReadOperation[] {
                    (parcel, provider) -> {
                        parcel.setDataPosition(provider.consumeInt());
                        parcel.setDataPosition(provider.consumeInt(0, Integer.MAX_VALUE));
                    },
                    (parcel, provider) -> {
                        parcel.setDataCapacity(provider.consumeInt());
@@ -155,6 +155,7 @@ public class ReadUtils {
                        byte[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new byte[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -166,6 +167,7 @@ public class ReadUtils {
                        char[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new char[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -177,6 +179,7 @@ public class ReadUtils {
                        int[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new int[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -188,6 +191,7 @@ public class ReadUtils {
                        double[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new double[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -199,6 +203,7 @@ public class ReadUtils {
                        float[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new float[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -210,6 +215,7 @@ public class ReadUtils {
                        boolean[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new boolean[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -221,6 +227,7 @@ public class ReadUtils {
                        long[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new long[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -232,6 +239,7 @@ public class ReadUtils {
                        IBinder[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new IBinder[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -274,6 +282,7 @@ public class ReadUtils {
                        SingleDataParcelable[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new SingleDataParcelable[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -293,6 +302,7 @@ public class ReadUtils {
                        EmptyParcelable[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new EmptyParcelable[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -312,6 +322,7 @@ public class ReadUtils {
                        GenericDataParcelable[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new GenericDataParcelable[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -334,6 +345,7 @@ public class ReadUtils {
                        SomeParcelable[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new SomeParcelable[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {
@@ -390,6 +402,7 @@ public class ReadUtils {
                        TestInterface[] array;
                        if (provider.consumeBoolean()) {
                            int pos = parcel.dataPosition();
                            if (pos < 0) return;
                            array = new TestInterface[Math.min(MAX_LEN, parcel.readInt())];
                            parcel.setDataPosition(pos);
                        } else {