Merge commit '98a1a6e766a0e2ab49e158a8019197dcb13e3670' into dev-release
diff --git a/src/main/java/com/android/tools/r8/dex/DexParser.java b/src/main/java/com/android/tools/r8/dex/DexParser.java index a6eb1c3..2e37abb 100644 --- a/src/main/java/com/android/tools/r8/dex/DexParser.java +++ b/src/main/java/com/android/tools/r8/dex/DexParser.java
@@ -833,6 +833,19 @@ int unused = dexReader.getUshort(); int size = dexReader.getUint(); int offset = dexReader.getUint(); + if (offset + size > dexReader.end()) { + throw new CompilationError( + "The dex file had an offset + size that pointed past the end of the dex file." + + "\nSection type: " + + DexSection.typeName(type) + + "\nSection offset: " + + offset + + "\nSection size: " + + size + + "\nFile size: " + + dexReader.end(), + origin); + } result[i] = new DexSection(type, unused, size, offset); } if (Log.ENABLED) {
diff --git a/tools/internal_test.py b/tools/internal_test.py index b98be86..d8e8c62 100755 --- a/tools/internal_test.py +++ b/tools/internal_test.py
@@ -70,7 +70,7 @@ 'find-xmx-min': 256, 'find-xmx-max': 450, 'find-xmx-range': 16, - 'oom-threshold': 335, + 'oom-threshold': 340, }, { 'app': 'youtube',