commit | 5ba0c29655be05b4aa816fbb0bbf7d36f20ea4d8 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Sat Dec 21 09:45:00 2019 -0800 |
committer | Damien Neil <dneil@google.com> | Sun Dec 22 04:14:01 2019 +0000 |
tree | 0283616fbebc2d28d3b4f46c9a1730047e7e849b | |
parent | f2427c09d6bfc4638026c55e61b7964cb47574f1 [diff] [blame] |
internal/encoding/json: fix crash in parsing Fuzzer-detected crash when parsing: {"" Change-Id: I019c667f48e6a1237858b5abf7d34f43593fb3b6 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/212357 Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/internal/encoding/json/decode.go b/internal/encoding/json/decode.go index ae2ee9a..3e58d06 100644 --- a/internal/encoding/json/decode.go +++ b/internal/encoding/json/decode.go
@@ -102,6 +102,9 @@ } d.in = d.in[n:] d.consume(0) + if len(d.in) == 0 { + return Value{}, d.newSyntaxError(`unexpected EOF, missing ":" after object name`) + } if c := d.in[0]; c != ':' { return Value{}, d.newSyntaxError(`unexpected character %v, missing ":" after object name`, string(c)) }