]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
chardev/wctable: don't free the instance in wctablet_chr_finalize
authorDaniil Tatianin <d-tatianin@yandex-team.ru>
Wed, 17 Nov 2021 14:23:49 +0000 (17:23 +0300)
committerMichael Roth <michael.roth@amd.com>
Tue, 14 Dec 2021 20:54:14 +0000 (14:54 -0600)
Object is supposed to be freed by invoking obj->free, and not
obj->instance_finalize. This would lead to use-after-free followed by
double free in object_unref/object_finalize.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20211117142349.836279-1-d-tatianin@yandex-team.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit fdc6e168181d06391711171b7c409b34f2981ced)
Signed-off-by: Michael Roth <michael.roth@amd.com>
chardev/wctablet.c

index 95e005f5a5639f055070456e418c0a83363badf2..e8b292c43ca782e9b9e7ce3a1f338733ac3fe725 100644 (file)
@@ -320,7 +320,6 @@ static void wctablet_chr_finalize(Object *obj)
     TabletChardev *tablet = WCTABLET_CHARDEV(obj);
 
     qemu_input_handler_unregister(tablet->hs);
-    g_free(tablet);
 }
 
 static void wctablet_chr_open(Chardev *chr,