OSDN Git Service

qemu-timer: allow freeing a NULL timer
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 10 Mar 2021 15:38:48 +0000 (10:38 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Mar 2021 18:30:30 +0000 (14:30 -0400)
Since 5f8e93c3e2 ("util/qemu-timer: Make timer_free() imply timer_del()", 2021-01-08)
it is not possible anymore to pass a NULL pointer to timer_free().  Previously
it would do nothing as it would simply pass NULL down to g_free().

Rectify this, which also fixes "-chardev braille" when there is no device.

Reported-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/qemu/timer.h

index 5e76e3f..301fa47 100644 (file)
@@ -629,8 +629,10 @@ void timer_del(QEMUTimer *ts);
  */
 static inline void timer_free(QEMUTimer *ts)
 {
-    timer_del(ts);
-    g_free(ts);
+    if (ts) {
+        timer_del(ts);
+        g_free(ts);
+    }
 }
 
 /**