summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@redhat.com>2020-02-07 17:19:48 +0100
committerEduardo Habkost <ehabkost@redhat.com>2020-02-28 14:57:19 -0500
commit6db1857ec9960c63024f4ce6329d947f727bad39 (patch)
tree06d62e3a633ee467010a132133c8fbe33305598b
parentea0ac7f6f8f313f810858dd1ba4e7fae602e01bd (diff)
downloadfocaccia-qemu-6db1857ec9960c63024f4ce6329d947f727bad39.tar.gz
focaccia-qemu-6db1857ec9960c63024f4ce6329d947f727bad39.zip
vl: Abort if multiple machines are registered as default
It would be confusing to have multiple default machines.
Abort if this ever occurs.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200207161948.15972-4-philmd@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--softmmu/vl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 705ee6f841..5549f4b619 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1163,16 +1163,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
 static MachineClass *find_default_machine(GSList *machines)
 {
     GSList *el;
+    MachineClass *default_machineclass = NULL;
 
     for (el = machines; el; el = el->next) {
         MachineClass *mc = el->data;
 
         if (mc->is_default) {
-            return mc;
+            assert(default_machineclass == NULL && "Multiple default machines");
+            default_machineclass = mc;
         }
     }
 
-    return NULL;
+    return default_machineclass;
 }
 
 static int machine_help_func(QemuOpts *opts, MachineState *machine)