g_realloc() returns NULL iff zero bytes are requested. Covscan therefore
reports a possible NULL pointer dereference, however, this is not
applicable here, as nb_clusters is guaranteed to be non-zero.
In order to (hopefully) silence covscan, assert that the result of
g_realloc() is truly non-NULL.
Signed-off-by: Max Reitz <address@hidden>
---
See https://bugzilla.redhat.com/show_bug.cgi?id=1102409 for covscan's
output.
---
block/qcow2-refcount.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
index 9507aef..4b81077 100644
--- a/block/qcow2-refcount.c
+++ b/block/qcow2-refcount.c
@@ -1579,6 +1579,7 @@ int qcow2_check_refcounts(BlockDriverState *bs,
BdrvCheckResult *res,
nb_clusters = (new_offset >> s->cluster_bits) + 1;
refcount_table = g_realloc(refcount_table,
nb_clusters * sizeof(uint16_t));
+ assert(refcount_table);
memset(&refcount_table[old_nb_clusters], 0,
(nb_clusters
- old_nb_clusters) * sizeof(uint16_t));
}
--