If we encounter "null" for a non-NullValue enum, throw an error.
diff --git a/upb/json_decode.c b/upb/json_decode.c index c0aabd8..15d305b 100644 --- a/upb/json_decode.c +++ b/upb/json_decode.c
@@ -798,12 +798,14 @@ return val; } case JD_NULL: { - UPB_ASSERT(jsondec_isnullvalue(f)); - jsondec_null(d); - upb_msgval val; - val.int32_val = 0; - return val; + if (jsondec_isnullvalue(f)) { + upb_msgval val; + jsondec_null(d); + val.int32_val = 0; + return val; + } } + /* Fallthrough. */ default: return jsondec_int(d, f); }