From: Peter Krempa Date: Tue, 23 Sep 2014 09:48:08 +0000 (+0200) Subject: util: json: Improve handling and docs for adding JSON objects X-Git-Tag: v1.2.10-rc1~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81069ae3f53e0c1f09e0842969ba6774912a27c6;p=thirdparty%2Flibvirt.git util: json: Improve handling and docs for adding JSON objects The JSON structure constructor has an option to add JSON arrays to the constructed object. The description is inaccurate as it can add any json object even a dict. Change the docs to cover this option and reject adding NULL objects. --- diff --git a/src/util/virjson.c b/src/util/virjson.c index 1dedd8fe0c..81833f73a7 100644 --- a/src/util/virjson.c +++ b/src/util/virjson.c @@ -97,7 +97,8 @@ struct _virJSONParser { * * d: double precision floating point number * n: json null value - * a: json array + * + * a: json object, must be non-NULL * * The value corresponds to the selected type. * @@ -231,6 +232,14 @@ virJSONValueObjectCreateVArgs(virJSONValuePtr *obj, va_list args) case 'a': { virJSONValuePtr val = va_arg(args, virJSONValuePtr); + + if (!val) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("argument key '%s' must not have null value"), + key); + goto cleanup; + } + rc = virJSONValueObjectAppend(jargs, key, val); } break;