From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LnjsR-0007kY-7C for qemu-devel@nongnu.org; Sat, 28 Mar 2009 21:31:55 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LnjsQ-0007jw-82 for qemu-devel@nongnu.org; Sat, 28 Mar 2009 21:31:54 -0400 Received: from [199.232.76.173] (port=34371 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LnjsP-0007jl-Vc for qemu-devel@nongnu.org; Sat, 28 Mar 2009 21:31:54 -0400 Received: from savannah.gnu.org ([199.232.41.3]:39018 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LnjsP-00041m-0H for qemu-devel@nongnu.org; Sat, 28 Mar 2009 21:31:53 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1LnjsO-0000n4-Ei for qemu-devel@nongnu.org; Sun, 29 Mar 2009 01:31:52 +0000 Received: from aliguori by cvs.savannah.gnu.org with local (Exim 4.69) (envelope-from ) id 1LnjsO-0000n0-3u for qemu-devel@nongnu.org; Sun, 29 Mar 2009 01:31:52 +0000 MIME-Version: 1.0 Errors-To: aliguori Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Anthony Liguori Message-Id: Date: Sun, 29 Mar 2009 01:31:52 +0000 Subject: [Qemu-devel] [6943] check for bs->drv in bdrv_flush (Christoph Hellwig) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 6943 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6943 Author: aliguori Date: 2009-03-29 01:31:51 +0000 (Sun, 29 Mar 2009) Log Message: ----------- check for bs->drv in bdrv_flush (Christoph Hellwig) All the bdrv_ helpers should check for bs->drv being zero as that means there is no backend image open. bdrv_flush fails to perform that check and can thus cause NULL pointer dereferences. Found using qemu-io. Signed-off-by: Christoph Hellwig Signed-off-by: Anthony Liguori Modified Paths: -------------- trunk/block.c Modified: trunk/block.c =================================================================== --- trunk/block.c 2009-03-29 01:31:48 UTC (rev 6942) +++ trunk/block.c 2009-03-29 01:31:51 UTC (rev 6943) @@ -1002,6 +1002,8 @@ void bdrv_flush(BlockDriverState *bs) { + if (!bs->drv) + return; if (bs->drv->bdrv_flush) bs->drv->bdrv_flush(bs); if (bs->backing_hd)