server/red_parse_qxl: disallow zero area bitmaps

prevents division by zero later (SIGFPE, Arithmetic exception) in
spice-common code, at spice-common/common/canvas_base.c:646
for both client and server (server only upon rendering).
This commit is contained in:
Alon Levy 2012-07-20 18:23:58 +03:00
parent 341d273bad
commit 827f40e05c

View File

@ -370,6 +370,10 @@ static SpiceImage *red_get_image(RedMemSlotInfo *slots, int group_id,
red->u.bitmap.format);
return NULL;
}
if (qxl->bitmap.x == 0 || qxl->bitmap.y == 0) {
spice_warning("guest error: zero area bitmap\n");
return NULL;
}
qxl_flags = qxl->bitmap.flags;
if (qxl_flags & QXL_BITMAP_TOP_DOWN) {
red->u.bitmap.flags = SPICE_BITMAP_FLAGS_TOP_DOWN;