From 68c59302cb233c1d99701e98c2f6872d36e0c382 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 8 Apr 2011 17:12:38 +0200 Subject: [PATCH] kvm tools: Fix segfault when running 'kvm' without a disk image When running a simple, diskless 'kvm ./bzImage' KVM session we currently segfault at the end of the session: [ 4.895488] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 4.899371] Rebooting in 1 seconds.. Program received signal SIGSEGV, Segmentation fault. disk_image__close (self=0x0) at disk-image.c:93 93 if (self->ops->close) (gdb) Because disk_image__close() assumes that 'self' is never NULL. Add a NULL check to allow a clean exit. Signed-off-by: Ingo Molnar Signed-off-by: Pekka Enberg --- tools/kvm/disk-image.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/kvm/disk-image.c b/tools/kvm/disk-image.c index 80999c13d505..4099720f1333 100644 --- a/tools/kvm/disk-image.c +++ b/tools/kvm/disk-image.c @@ -90,6 +90,10 @@ struct disk_image *disk_image__open(const char *filename) void disk_image__close(struct disk_image *self) { + /* If there was no disk image then there's nothing to do: */ + if (!self) + return; + if (self->ops->close) self->ops->close(self); -- 2.39.5