diff options
author | Protobuf Team Bot <protobuf-github-bot@google.com> | 2024-05-09 15:16:16 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-05-09 15:18:31 -0700 |
commit | af1ecc03531461900c1c9b8499aa64f5900bca27 (patch) | |
tree | 70078b88184d6bbf70750c8a79389f91b2ffc500 | |
parent | eb31de309782c94ac887aa7325630b6d5da1a623 (diff) | |
download | protobuf-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.java | 3 |
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(); |