summaryrefslogtreecommitdiff
path: root/block.c
diff options
context:
space:
mode:
authorPeter Lieven <pl@kamp.de>2013-09-24 15:35:09 +0200
committerKevin Wolf <kwolf@redhat.com>2013-09-25 10:08:56 +0200
commit1f9db2243c1b987c834fe559a8e73b3178f50c2b (patch)
treeeaab17dc8b10b0fd8158243e8e4c9acda8625ce2 /block.c
parent3e0a233d869e74e78b516be34715b91528508cfc (diff)
downloadqemu-1f9db2243c1b987c834fe559a8e73b3178f50c2b.tar.gz
block/get_block_status: avoid segfault if there is no backing_hd
Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r--block.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block.c b/block.c
index 9b444b3443..3366017aea 100644
--- a/block.c
+++ b/block.c
@@ -3169,7 +3169,7 @@ static int64_t coroutine_fn bdrv_co_get_block_status(BlockDriverState *bs,
if (!(ret & BDRV_BLOCK_DATA)) {
if (bdrv_has_zero_init(bs)) {
ret |= BDRV_BLOCK_ZERO;
- } else {
+ } else if (bs->backing_hd) {
BlockDriverState *bs2 = bs->backing_hd;
int64_t length2 = bdrv_getlength(bs2);
if (length2 >= 0 && sector_num >= (length2 >> BDRV_SECTOR_BITS)) {