[Qemu-devel] [PATCH 46/56] json: Assert json_parser_parse() consumes all tokens on success

Markus Armbruster posted 56 patches 7 years, 2 months ago
There is a newer version of this series
[Qemu-devel] [PATCH 46/56] json: Assert json_parser_parse() consumes all tokens on success
Posted by Markus Armbruster 7 years, 2 months ago
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qobject/json-parser.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/qobject/json-parser.c b/qobject/json-parser.c
index c2974d46b3..208dffc96c 100644
--- a/qobject/json-parser.c
+++ b/qobject/json-parser.c
@@ -539,6 +539,7 @@ QObject *json_parser_parse(GQueue *tokens, va_list *ap, Error **errp)
     QObject *result;
 
     result = parse_value(&ctxt, ap);
+    assert(ctxt.err || g_queue_is_empty(ctxt.buf));
 
     error_propagate(errp, ctxt.err);
 
-- 
2.17.1


Re: [Qemu-devel] [PATCH 46/56] json: Assert json_parser_parse() consumes all tokens on success
Posted by Eric Blake 7 years, 2 months ago
On 08/08/2018 07:03 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>   qobject/json-parser.c | 1 +
>   1 file changed, 1 insertion(+)

Straight-forward, but took a lot of cleanup in earlier patches to get 
here ;)

Reviewed-by: Eric Blake <eblake@redhat.com>

> 
> diff --git a/qobject/json-parser.c b/qobject/json-parser.c
> index c2974d46b3..208dffc96c 100644
> --- a/qobject/json-parser.c
> +++ b/qobject/json-parser.c
> @@ -539,6 +539,7 @@ QObject *json_parser_parse(GQueue *tokens, va_list *ap, Error **errp)
>       QObject *result;
>   
>       result = parse_value(&ctxt, ap);
> +    assert(ctxt.err || g_queue_is_empty(ctxt.buf));
>   
>       error_propagate(errp, ctxt.err);
>   
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org