|
From: | Philippe Mathieu-Daudé |
Subject: | Re: [Qemu-block] [Qemu-devel] [PATCH for-2.10] block/qapi: Remove redundat NULL check to silence Coverity |
Date: | Mon, 31 Jul 2017 11:54:57 -0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 07/31/2017 11:38 AM, Jeff Cody wrote:
On Mon, Jul 31, 2017 at 02:51:11PM +0200, Kevin Wolf wrote:When skipping implicit nodes in bdrv_block_device_info(), we know that bs0 is always non-NULL; initially, because it's taken from a BdrvChildNot to mention, we deference bs0 in the chunk of code right above this, so we'd segfault anyway if the initial value was NULL.
Yes, please move your assert before: 137: if (bs0->drv && bs0->backing) { Once there: Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
and a BdrvChild never has a NULL bs, and after the first iteration because implicit nodes always have a backing file. Remove the NULL check and add an assertion that the implicit node does indeed have a backing file. Signed-off-by: Kevin Wolf <address@hidden>Reviewed-by: Jeff Cody <address@hidden>--- block/qapi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/qapi.c b/block/qapi.c index d2b18ee9df..5f1a71f5d2 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -145,8 +145,9 @@ BlockDeviceInfo *bdrv_block_device_info(BlockBackend *blk,/* Skip automatically inserted nodes that the user isn't aware of for* query-block (blk != NULL), but not for query-named-block-nodes */ - while (blk && bs0 && bs0->drv && bs0->implicit) { + while (blk && bs0->drv && bs0->implicit) { bs0 = backing_bs(bs0); + assert(bs0); } }--2.13.3
[Prev in Thread] | Current Thread | [Next in Thread] |