diff options
-rw-r--r-- | hw/display/qxl.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/hw/display/qxl.c b/hw/display/qxl.c index abe7a18a8..521494840 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -1366,16 +1366,11 @@ static void qxl_create_guest_primary(PCIQXLDevice *qxl, int loadvm, { QXLDevSurfaceCreate surface; QXLSurfaceCreate *sc = &qxl->guest_primary.surface; - uint32_t requested_height = le32_to_cpu(sc->height); int requested_stride = le32_to_cpu(sc->stride); - if (requested_stride == INT32_MIN || - abs(requested_stride) * (uint64_t)requested_height - > qxl->vgamem_size) { - qxl_set_guest_bug(qxl, "%s: requested primary larger than framebuffer" - " stride %d x height %" PRIu32 " > %" PRIu32, - __func__, requested_stride, requested_height, - qxl->vgamem_size); + if (requested_stride == INT32_MIN) { + qxl_set_guest_bug(qxl, "%s: requested primary has invalid stride", + __func__); return; } |