aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProtobuf Team Bot <protobuf-github-bot@google.com>2024-05-09 15:16:16 -0700
committerCopybara-Service <copybara-worker@google.com>2024-05-09 15:18:31 -0700
commitaf1ecc03531461900c1c9b8499aa64f5900bca27 (patch)
tree70078b88184d6bbf70750c8a79389f91b2ffc500
parenteb31de309782c94ac887aa7325630b6d5da1a623 (diff)
downloadprotobuf-af1ecc03531461900c1c9b8499aa64f5900bca27.tar.gz
Add a check to ensure that the byte limit is not negative.
PiperOrigin-RevId: 632284538
-rw-r--r--java/core/src/main/java/com/google/protobuf/CodedInputStream.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/java/core/src/main/java/com/google/protobuf/CodedInputStream.java b/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
index 81da41778..6fb96afa4 100644
--- a/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
+++ b/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
@@ -2690,6 +2690,9 @@ public abstract class CodedInputStream {
throw InvalidProtocolBufferException.negativeSize();
}
byteLimit += totalBytesRetired + pos;
+ if (byteLimit < 0) {
+ throw InvalidProtocolBufferException.parseFailure();
+ }
final int oldLimit = currentLimit;
if (byteLimit > oldLimit) {
throw InvalidProtocolBufferException.truncatedMessage();