commit | 0f783d864bdddb741841818ecda4f126bd76dac1 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Wed Feb 05 07:34:41 2020 -0800 |
committer | Damien Neil <dneil@google.com> | Wed Feb 05 17:16:50 2020 +0000 |
tree | 0c4ec301f44e49327ebb238f832820ac5a5df632 | |
parent | cadb4ab3b1c6d76d0e3c08bd0f0b35440342b367 [diff] [blame] |
internal/impl: fix off-by-one in varint validation Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20532 Change-Id: I670698a1ef780f341f336929384132febe2b40a1 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/217766 Reviewed-by: Joe Tsai <joetsai@google.com>
diff --git a/internal/impl/validate.go b/internal/impl/validate.go index 0c32026..e210086 100644 --- a/internal/impl/validate.go +++ b/internal/impl/validate.go
@@ -353,7 +353,7 @@ switch wtyp { case wire.VarintType: - if len(b) >= 9 { + if len(b) >= 10 { switch { case b[0] < 0x80: b = b[1:]