]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
qdev: make release_string() idempotent
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Thu, 8 Jan 2026 23:03:08 +0000 (15:03 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 13 Feb 2026 10:16:52 +0000 (11:16 +0100)
So it can eventually be called multiple times safely.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Link: https://lore.kernel.org/r/20250429140306.190384-2-marcandre.lureau@redhat.com
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Link: https://lore.kernel.org/r/20260108230311.584141-3-csomani@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/core/qdev-properties.c

index c2e3f0543fd56515862f1191d4827a578237177b..ba8461e9a4297d5affb54eaee7e76ef381373234 100644 (file)
@@ -551,7 +551,8 @@ const PropertyInfo qdev_prop_usize = {
 static void release_string(Object *obj, const char *name, void *opaque)
 {
     const Property *prop = opaque;
-    g_free(*(char **)object_field_prop_ptr(obj, prop));
+
+    g_clear_pointer((char **)object_field_prop_ptr(obj, prop), g_free);
 }
 
 static void get_string(Object *obj, Visitor *v, const char *name,