From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35406) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4VQQ-0004aO-Gv for qemu-devel@nongnu.org; Wed, 31 Jul 2013 08:22:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V4VQK-0005CA-L2 for qemu-devel@nongnu.org; Wed, 31 Jul 2013 08:22:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:20171) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4VQK-0005Bu-C7 for qemu-devel@nongnu.org; Wed, 31 Jul 2013 08:22:36 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r6VCMZqf021776 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 31 Jul 2013 08:22:35 -0400 Message-ID: <51F9021E.9020801@redhat.com> Date: Wed, 31 Jul 2013 14:25:02 +0200 From: Laszlo Ersek MIME-Version: 1.0 References: <1375262511-28604-1-git-send-email-kraxel@redhat.com> In-Reply-To: <1375262511-28604-1-git-send-email-kraxel@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] usb-redir: fix use-after-free List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: qemu-devel@nongnu.org On 07/31/13 11:21, Gerd Hoffmann wrote: > Reinitialize dev->cs to NULL after deleting it, to make sure it isn't > used afterwards. > > Reported-by: Martin Cerveny > Signed-off-by: Gerd Hoffmann > --- > hw/usb/redirect.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c > index 8b8c010..e3b9f32 100644 > --- a/hw/usb/redirect.c > +++ b/hw/usb/redirect.c > @@ -1334,6 +1334,7 @@ static void usbredir_handle_destroy(USBDevice *udev) > USBRedirDevice *dev = DO_UPCAST(USBRedirDevice, dev, udev); > > qemu_chr_delete(dev->cs); > + dev->cs = NULL; > /* Note must be done after qemu_chr_close, as that causes a close event */ > qemu_bh_delete(dev->chardev_close_bh); > > Reviewed-by: Laszlo Ersek