Message ID | 20170724182751.18261-9-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
On 07/24/2017 01:27 PM, Philippe Mathieu-Daudé wrote: > 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> > --- > block/qcow2-refcount.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Eric Blake <eblake@redhat.com> > > 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]); > } >
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]); }
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> --- block/qcow2-refcount.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)