[libvirt] [PATCHv1 02/12] qemu_monitor: Introduce qemuMonitorCPUModelInfoInit and qemuMonitorCPUModelInfoFreeContents
Collin Walling
walling at linux.ibm.com
Wed Jun 27 22:41:55 UTC 2018
On 06/22/2018 12:42 AM, Chris Venteicher wrote:
> Init - Initial with model name and empty properties
> FreeContents - Free model name and properties without freeing pointer
> ---
> src/qemu/qemu_monitor.c | 37 ++++++++++++++++++++++++++++++++++++-
> src/qemu/qemu_monitor.h | 4 ++++
> 2 files changed, 40 insertions(+), 1 deletion(-)
>
> diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
> index d6771c1d52..16de54dac7 100644
> --- a/src/qemu/qemu_monitor.c
> +++ b/src/qemu/qemu_monitor.c
> @@ -3632,8 +3632,31 @@ qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon,
> }
>
>
> +int
> +qemuMonitorCPUModelInfoInit(const char *name, qemuMonitorCPUModelInfoPtr model)
> +{
> + int ret = -1;
> +
> + if (!model)
> + goto cleanup;
> +
> + model->name = NULL;
> + model->nprops = 0;
> + model->props = NULL;
> + model->props_migratable_valid = false;
> +
> + if (VIR_STRDUP(model->name, name) < 0)
> + goto cleanup;
> +
> + ret = 0;
> +
> + cleanup:
> + return ret;
> +}
> +> +
> void
> -qemuMonitorCPUModelInfoFree(qemuMonitorCPUModelInfoPtr model_info)
> +qemuMonitorCPUModelInfoFreeContents(qemuMonitorCPUModelInfoPtr model_info)
> {
> size_t i;
>
> @@ -3648,6 +3671,18 @@ qemuMonitorCPUModelInfoFree(qemuMonitorCPUModelInfoPtr model_info)
>
> VIR_FREE(model_info->props);
> VIR_FREE(model_info->name);
> +
> + model_info->name = NULL;
> + model_info->nprops = 0;
> + model_info->props = NULL;
> + model_info->props_migratable_valid = false;
> +}
I thought VIR_FREE frees memory and then updates the pointer to NULL?
> +
> +
> +void
> +qemuMonitorCPUModelInfoFree(qemuMonitorCPUModelInfoPtr model_info)
> +{
> + qemuMonitorCPUModelInfoFreeContents(model_info);
> VIR_FREE(model_info);
> }
>
> diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
> index b3d62324b4..7dbc993f1b 100644
> --- a/src/qemu/qemu_monitor.h
> +++ b/src/qemu/qemu_monitor.h
> @@ -1021,6 +1021,10 @@ int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon,
> qemuMonitorCPUModelInfoPtr *model_info);
>
> void qemuMonitorCPUModelInfoFree(qemuMonitorCPUModelInfoPtr model_info);
> +void qemuMonitorCPUModelInfoFreeContents(qemuMonitorCPUModelInfoPtr model_info);
> +
> +int qemuMonitorCPUModelInfoInit(const char *name, qemuMonitorCPUModelInfoPtr model)
> + ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
>
> qemuMonitorCPUModelInfoPtr
> qemuMonitorCPUModelInfoCopy(const qemuMonitorCPUModelInfo *orig);
>
--
Respectfully,
- Collin Walling
More information about the libvir-list
mailing list