diff options
author | Josh Haberman <jhaberman@gmail.com> | 2016-08-29 15:55:12 -0700 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2016-08-29 15:55:12 -0700 |
commit | ea8506648913eaa5a5734db87dacbc8466f4cc83 (patch) | |
tree | 2c35dd170995adf7aaaa8949ddc3268a196d7ca7 /upb | |
parent | 8b6e2113b072b0cb198695dcd6cfc6384c1e98b8 (diff) |
JSON: fix a couple cases of the wrong closure being passed to end handlers.
Diffstat (limited to 'upb')
-rw-r--r-- | upb/json/parser.rl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/upb/json/parser.rl b/upb/json/parser.rl index b0fcdba..15ca477 100644 --- a/upb/json/parser.rl +++ b/upb/json/parser.rl @@ -785,8 +785,8 @@ static bool end_stringval(upb_json_parser *p) { case UPB_TYPE_STRING: { upb_selector_t sel = getsel_for_handlertype(p, UPB_HANDLER_ENDSTR); - upb_sink_endstr(&p->top->sink, sel); p->top--; + upb_sink_endstr(&p->top->sink, sel); break; } @@ -884,7 +884,7 @@ static bool parse_mapentry_key(upb_json_parser *p) { sel = getsel_for_handlertype(p, UPB_HANDLER_STRING); upb_sink_putstring(&subsink, sel, buf, len, NULL); sel = getsel_for_handlertype(p, UPB_HANDLER_ENDSTR); - upb_sink_endstr(&subsink, sel); + upb_sink_endstr(&p->top->sink, sel); multipart_end(p); break; } |