[Qemu-devel] [PATCH 29/32] qobject: Let qobject_from_jsonf() fail instead of abort

Markus Armbruster posted 32 patches 7 years, 4 months ago
[Qemu-devel] [PATCH 29/32] qobject: Let qobject_from_jsonf() fail instead of abort
Posted by Markus Armbruster 7 years, 4 months ago
qobject_from_jsonf() aborts on error, unlike qobject_from_jsonv(),
which returns null.  Since all remaining users of qobject_from_jsonf()
cope fine with null, change it to return null.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qobject/qjson.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/qobject/qjson.c b/qobject/qjson.c
index 0df3120202..2f6a590e44 100644
--- a/qobject/qjson.c
+++ b/qobject/qjson.c
@@ -59,10 +59,6 @@ QObject *qobject_from_json(const char *string, Error **errp)
     return qobject_from_jsonv(string, NULL, errp);
 }
 
-/*
- * IMPORTANT: This function aborts on error, thus it must not
- * be used with untrusted arguments.
- */
 QObject *qobject_from_jsonf(const char *string, ...)
 {
     QObject *obj;
@@ -72,7 +68,6 @@ QObject *qobject_from_jsonf(const char *string, ...)
     obj = qobject_from_jsonv(string, &ap, &error_abort);
     va_end(ap);
 
-    assert(obj != NULL);
     return obj;
 }
 
-- 
2.17.1


Re: [Qemu-devel] [PATCH 29/32] qobject: Let qobject_from_jsonf() fail instead of abort
Posted by Eric Blake 7 years, 4 months ago
On 07/02/2018 11:22 AM, Markus Armbruster wrote:
> qobject_from_jsonf() aborts on error, unlike qobject_from_jsonv(),
> which returns null.  Since all remaining users of qobject_from_jsonf()
> cope fine with null, change it to return null.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>   qobject/qjson.c | 5 -----
>   1 file changed, 5 deletions(-)
> 

Nice that we're finally gaining some symmetry between the ... and 
va_list forms.

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

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