On Thu, Oct 18, 2018 at 05:03:38PM -0300, Eduardo Habkost wrote: > From: Zhang Yi > > object_get_canonical_path_component() returns a string which > must be freed using g_free(). > > Reported-by: Peter Maydell > Signed-off-by: Michael S. Tsirkin > Signed-off-by: Zhang Yi > Message-Id: <7328fb16c394eaf5d65437d11c2a9343647b6d3d.1535471899.git.yi.z.zhang@linux.intel.com> > Reviewed-by: Eduardo Habkost > Signed-off-by: Eduardo Habkost Reviewed-by: David Gibson > --- > 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