diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/upb_stream.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/upb_stream.c b/core/upb_stream.c index e63ba00..0d47392 100644 --- a/core/upb_stream.c +++ b/core/upb_stream.c @@ -37,14 +37,19 @@ void upb_streamdata(upb_src *src, upb_sink *sink, upb_status *status) { CHECKSRC(upb_src_eof(src)); if (depth == 0) break; --depth; + upb_src_endmsg(src); + upb_sink_endmsg(sink); } + upb_string_unref(str); return; src_err: + upb_string_unref(str); upb_copyerr(status, upb_src_status(src)); return; sink_err: + upb_string_unref(str); upb_copyerr(status, upb_sink_status(sink)); return; } |