[libvirt] [PATCH v2 03/11] qemu: qmp query-cpu-model-expansion command

Collin L. Walling walling at linux.vnet.ibm.com
Thu Dec 15 14:40:16 UTC 2016


On 12/15/2016 06:47 AM, Jiri Denemark wrote:
> On Fri, Dec 09, 2016 at 14:38:32 -0500, Jason J. Herne wrote:
>> diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
>> index 0c38b8f..9189a8b 100644
>> --- a/src/qemu/qemu_monitor_json.c
>> +++ b/src/qemu/qemu_monitor_json.c
>> @@ -4973,6 +4973,127 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon,
>>       return ret;
>>   }
>>   
>> +int
>> +qemuMonitorJSONParseCPUModelProperty(const char *key,
>> +                                     const virJSONValue *value,
>> +                                     void *opaque)
>> +{
>> +    qemuMonitorCPUModelInfoPtr machine_model = opaque;
>> +    size_t n = machine_model->nprops;
>> +    bool supported;
>> +
>> +    if (!key) {
>> +        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> +                       _("query-cpu-model-expansion reply data is missing a"
>> +                         " property name"));
>> +        return -1;
>> +    }
>> +    if (VIR_STRDUP(machine_model->props[n].name, key) < 0)
>> +        return -1;
>> +
>> +    if (virJSONValueGetBoolean(virJSONValueCopy(value), &supported) < 0) {
> Ouch, calling virJSONValueCopy() would just leak memory here. If we drop
> the "const" requirement from virJSONValueObjectForeachKeyValue (pushed
> yesterday as v2.5.0-96-gc1cb4cb9f) we can directly pass value.
Thanks for letting me know about this update! I was very iffy on passing a
boolean this way. I can now rest easy again.

-- 
- Collin L Walling




More information about the libvir-list mailing list