]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
isa-superio: validate floppy.count value
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 29 Jan 2024 13:32:38 +0000 (14:32 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 16 Feb 2024 12:56:08 +0000 (13:56 +0100)
Ensure that the value is valid; it can only be zero or one.
And never create a floppy disk controller if it is zero.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/isa/isa-superio.c

index 7dbfc374da3ed8827903d98c9fd11751ec31e439..e06a548c68285c7b8de23b2cb413722ee0821612 100644 (file)
@@ -116,7 +116,9 @@ static void isa_superio_realize(DeviceState *dev, Error **errp)
     }
 
     /* Floppy disc */
-    if (!k->floppy.is_enabled || k->floppy.is_enabled(sio, 0)) {
+    assert(k->floppy.count <= 1);
+    if (k->floppy.count &&
+        (!k->floppy.is_enabled || k->floppy.is_enabled(sio, 0))) {
         isa = isa_new(TYPE_ISA_FDC);
         d = DEVICE(isa);
         if (k->floppy.get_iobase) {