ati-vga: Do not assert on error
authorBALATON Zoltan <balaton@eik.bme.hu>
Sun, 21 Jun 2020 11:12:38 +0000 (13:12 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 30 Jun 2020 20:54:24 +0000 (22:54 +0200)
Do not abort on unsupported value just print log and continue. While
display will likely be broken this prevents malicious guest to crash
QEMU causing denial of service.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-id: 0c13dab5d8e3b7e7479c3edbf53aeac8c09de6de.1592737958.git.balaton@eik.bme.hu
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/display/ati.c

index 245130d52f333d6c0441177ae4611c65cc5cf482..95fc443cac833ad099b3b17884654bb73dbac805 100644 (file)
@@ -86,8 +86,8 @@ static void ati_vga_switch_mode(ATIVGAState *s)
                 break;
             default:
                 qemu_log_mask(LOG_UNIMP, "Unsupported bpp value\n");
+                return;
             }
-            assert(bpp != 0);
             DPRINTF("Switching to %dx%d %d %d @ %x\n", h, v, stride, bpp, offs);
             vbe_ioport_write_index(&s->vga, 0, VBE_DISPI_INDEX_ENABLE);
             vbe_ioport_write_data(&s->vga, 0, VBE_DISPI_DISABLED);