Bläddra i källkod

ati-vga: Do not assert on error

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>
BALATON Zoltan 5 år sedan
förälder
incheckning
41977c65c0
1 ändrade filer med 1 tillägg och 1 borttagningar
  1. 1 1
      hw/display/ati.c

+ 1 - 1
hw/display/ati.c

@@ -86,8 +86,8 @@ static void ati_vga_switch_mode(ATIVGAState *s)
                 break;
                 break;
             default:
             default:
                 qemu_log_mask(LOG_UNIMP, "Unsupported bpp value\n");
                 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);
             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_index(&s->vga, 0, VBE_DISPI_INDEX_ENABLE);
             vbe_ioport_write_data(&s->vga, 0, VBE_DISPI_DISABLED);
             vbe_ioport_write_data(&s->vga, 0, VBE_DISPI_DISABLED);