From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50473) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wr15W-0007Tb-HJ for qemu-devel@nongnu.org; Sun, 01 Jun 2014 04:25:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wr15R-0004Ma-IA for qemu-devel@nongnu.org; Sun, 01 Jun 2014 04:25:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:2677) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wr15R-0004MT-9T for qemu-devel@nongnu.org; Sun, 01 Jun 2014 04:25:49 -0400 Message-ID: <1401611157.2875.97.camel@localhost.localdomain> From: Marcel Apfelbaum Date: Sun, 01 Jun 2014 11:25:57 +0300 In-Reply-To: <1401480140-18653-4-git-send-email-ehabkost@redhat.com> References: <1401480140-18653-1-git-send-email-ehabkost@redhat.com> <1401480140-18653-4-git-send-email-ehabkost@redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 3/3] hw/machine: Free old values of string properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost , Luiz Capitulino , Markus Armbruster Cc: qemu-devel@nongnu.org, Andreas =?ISO-8859-1?Q?F=E4rber?= On Fri, 2014-05-30 at 17:02 -0300, Eduardo Habkost wrote: > Signed-off-by: Eduardo Habkost > --- > Cc: Marcel Apfelbaum > Cc: Andreas F=C3=A4rber > --- > hw/core/machine.c | 8 ++++++++ > 1 file changed, 8 insertions(+) >=20 > diff --git a/hw/core/machine.c b/hw/core/machine.c > index cbba679..df612bb 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -24,6 +24,7 @@ static void machine_set_accel(Object *obj, const char= *value, Error **errp) > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->accel); I am not sure if in QMP is not caller's responsibility to free the input = string. If I think about it, I ask an object to set "my" string and it deletes it= :(... Same for the others. Added Markus and Luiz, maybe they have an opinion on that. Thanks, Marcel =20 > ms->accel =3D g_strdup(value); > } > =20 > @@ -79,6 +80,7 @@ static void machine_set_kernel(Object *obj, const cha= r *value, Error **errp) > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->kernel_filename); > ms->kernel_filename =3D g_strdup(value); > } > =20 > @@ -93,6 +95,7 @@ static void machine_set_initrd(Object *obj, const cha= r *value, Error **errp) > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->initrd_filename); > ms->initrd_filename =3D g_strdup(value); > } > =20 > @@ -107,6 +110,7 @@ static void machine_set_append(Object *obj, const c= har *value, Error **errp) > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->kernel_cmdline); > ms->kernel_cmdline =3D g_strdup(value); > } > =20 > @@ -121,6 +125,7 @@ static void machine_set_dtb(Object *obj, const char= *value, Error **errp) > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->dtb); > ms->dtb =3D g_strdup(value); > } > =20 > @@ -135,6 +140,7 @@ static void machine_set_dumpdtb(Object *obj, const = char *value, Error **errp) > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->dumpdtb); > ms->dumpdtb =3D g_strdup(value); > } > =20 > @@ -176,6 +182,7 @@ static void machine_set_dt_compatible(Object *obj, = const char *value, Error **er > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->dt_compatible); > ms->dt_compatible =3D g_strdup(value); > } > =20 > @@ -232,6 +239,7 @@ static void machine_set_firmware(Object *obj, const= char *value, Error **errp) > { > MachineState *ms =3D MACHINE(obj); > =20 > + g_free(ms->firmware); > ms->firmware =3D g_strdup(value); > } > =20