diff options
author | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2017-07-26 23:42:10 -0300 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2017-07-31 13:06:38 +0300 |
commit | f80ac75d0e6e6e7481d61cdb86e5a741a442f100 (patch) | |
tree | a79e06911ec0f56ee612eb495ff6b92fe4b21c23 /block/qcow2-refcount.c | |
parent | b7b1e9dd6d56612d4656817b11e43d9fbefdc497 (diff) |
qcow2: fix null pointer dereference
It seems this assert() was somehow misplaced.
block/qcow2-refcount.c:2193:42: warning: Array access (from variable 'on_disk_reftable') results in a null pointer dereference
on_disk_reftable[refblock_index] = refblock_offset;
~~~~~~~~~~~~~~~~ ^
Reported-by: Clang Static Analyzer
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'block/qcow2-refcount.c')
-rw-r--r-- | block/qcow2-refcount.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c index c9b0dcb4f3..168fc32e7b 100644 --- a/block/qcow2-refcount.c +++ b/block/qcow2-refcount.c @@ -2189,6 +2189,8 @@ write_refblocks: * this will leak that range, but we can easily fix that by running * a leak-fixing check after this rebuild operation */ reftable_offset = -1; + } else { + assert(on_disk_reftable); } on_disk_reftable[refblock_index] = refblock_offset; @@ -2258,8 +2260,6 @@ write_refblocks: goto write_refblocks; } - assert(on_disk_reftable); - for (refblock_index = 0; refblock_index < reftable_size; refblock_index++) { cpu_to_be64s(&on_disk_reftable[refblock_index]); } |