diff --git a/src/util/virjson.c b/src/util/virjson.c index 78f868a16271d40f78912a4d5fd0756900424a64..a028a0813a6471daa401a11ab6c2399814bc0feb 100644 --- a/src/util/virjson.c +++ b/src/util/virjson.c @@ -620,11 +620,16 @@ virJSONValueObjectAppend(virJSONValuePtr object, { char *newkey; - if (object->type != VIR_JSON_TYPE_OBJECT) + if (object->type != VIR_JSON_TYPE_OBJECT) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("expecting JSON object")); return -1; + } - if (virJSONValueObjectHasKey(object, key)) + if (virJSONValueObjectHasKey(object, key)) { + virReportError(VIR_ERR_INTERNAL_ERROR, _("duplicate key '%s'"), key); return -1; + } if (VIR_STRDUP(newkey, key) < 0) return -1; @@ -774,8 +779,10 @@ int virJSONValueArrayAppend(virJSONValuePtr array, virJSONValuePtr value) { - if (array->type != VIR_JSON_TYPE_ARRAY) + if (array->type != VIR_JSON_TYPE_ARRAY) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("expecting JSON array")); return -1; + } if (VIR_REALLOC_N(array->data.array.values, array->data.array.nvalues + 1) < 0)