[libvirt] [PULL 01/45] hostmem-file: fixed the memory leak while get pmem path.
David Gibson
david at gibson.dropbear.id.au
Sun Oct 21 17:37:25 UTC 2018
On Thu, Oct 18, 2018 at 05:03:38PM -0300, Eduardo Habkost wrote:
> From: Zhang Yi <yi.z.zhang at linux.intel.com>
>
> object_get_canonical_path_component() returns a string which
> must be freed using g_free().
>
> Reported-by: Peter Maydell <peter.maydell at linaro.org>
> Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
> Signed-off-by: Zhang Yi <yi.z.zhang at linux.intel.com>
> Message-Id: <7328fb16c394eaf5d65437d11c2a9343647b6d3d.1535471899.git.yi.z.zhang at linux.intel.com>
> Reviewed-by: Eduardo Habkost <ehabkost at redhat.com>
> Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Reviewed-by: David Gibson <david at gibson.dropbear.id.au>
> ---
> backends/hostmem-file.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
> index e64074954f..639c8d4307 100644
> --- a/backends/hostmem-file.c
> +++ b/backends/hostmem-file.c
> @@ -145,20 +145,26 @@ static void file_memory_backend_set_pmem(Object *o, bool value, Error **errp)
> HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o);
>
> if (host_memory_backend_mr_inited(backend)) {
> + char *path = object_get_canonical_path_component(o);
> +
> error_setg(errp, "cannot change property 'pmem' of %s '%s'",
> object_get_typename(o),
> - object_get_canonical_path_component(o));
> + path);
> + g_free(path);
> return;
> }
>
> #ifndef CONFIG_LIBPMEM
> if (value) {
> Error *local_err = NULL;
> + char *path = object_get_canonical_path_component(o);
> +
> error_setg(&local_err,
> "Lack of libpmem support while setting the 'pmem=on'"
> " of %s '%s'. We can't ensure data persistence.",
> object_get_typename(o),
> - object_get_canonical_path_component(o));
> + path);
> + g_free(path);
> error_propagate(errp, local_err);
> return;
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20181021/5e5c2df7/attachment-0001.sig>
More information about the libvir-list
mailing list