If the write operation fails and the wps is NULL, then accessing it will lead to data corruption.
Solving the issue by adding a nullptr checking in get_zones_wp() where the wps is used. This issue is found by Peter Maydell using the Coverity Tool (CID 1512459). Signed-off-by: Sam Li <faithilike...@gmail.com> --- block/file-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/file-posix.c b/block/file-posix.c index ac1ed54811..4a6c71c7f5 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -2523,7 +2523,7 @@ out: } } } else { - if (type & (QEMU_AIO_WRITE | QEMU_AIO_ZONE_APPEND)) { + if (type & (QEMU_AIO_WRITE | QEMU_AIO_ZONE_APPEND) && wps) { update_zones_wp(bs, s->fd, 0, 1); } } -- 2.40.1