From e2ac80e18c79550faebdd4aa4f2bb3bde3d02fd2 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 7 May 2012 16:54:12 -0300 Subject: [RHEL6 qemu-kvm PATCH 1/3] fix mirror_abort NULL pointer dereference RH-Author: Paolo Bonzini Message-id: <1336409652-19595-1-git-send-email-pbonzini@redhat.com> Patchwork-id: 39620 O-Subject: [RHEL 6.3 qemu-kvm PATCH v2] fix mirror_abort NULL pointer dereference Bugzilla: 818226 RH-Acked-by: Kevin Wolf RH-Acked-by: Markus Armbruster RH-Acked-by: Laszlo Ersek Bugzilla: 818226 Upstream status: N/A Brew build: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=4382612 NULL pointer dereference spotted by Coverity. --- v1->v2: avoid testing container_of(NULL) against NULL block/mirror.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) Signed-off-by: Eduardo Habkost --- block/mirror.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/block/mirror.c b/block/mirror.c index 2bf3580..ee546db 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -289,12 +289,11 @@ int mirror_start(BlockDriverState *bs, void mirror_abort(BlockDriverState *bs) { - MirrorBlockJob *s = container_of(bs->job, MirrorBlockJob, common); - - if (s) { + if (bs->job) { + MirrorBlockJob *s = container_of(bs->job, MirrorBlockJob, common); block_job_cancel(&s->common); + qemu_coroutine_enter(s->common.co, s); } - qemu_coroutine_enter(s->common.co, s); } void mirror_commit(BlockDriverState *bs) -- 1.7.3.2