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 <mingo@elte.hu>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
Ingo Molnar
2015-06-01 16:39:41 +01:00
committed by Will Deacon
parent f833480025
commit 82d94c50b0
+4
View File
@@ -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);