From f9a55653721980e3921083015ffb39f777606828 Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Wed, 27 Sep 2017 18:01:01 +0200 Subject: xwayland: Fix non-argb cursor conversion From the bug: "What happens if bits->width is less than 8? :)" Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103012 Signed-off-by: Olivier Fourdan Reviewed-by: Emil Velikov Reviewed-by: Daniel Stone (cherry picked from commit 97ac59b1ed3624f7c04e54dd3e3dadfa46a8f170) --- hw/xwayland/xwayland-cursor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'hw') diff --git a/hw/xwayland/xwayland-cursor.c b/hw/xwayland/xwayland-cursor.c index f334f1ca5..7b6a698fd 100644 --- a/hw/xwayland/xwayland-cursor.c +++ b/hw/xwayland/xwayland-cursor.c @@ -42,7 +42,7 @@ expand_source_and_mask(CursorPtr cursor, CARD32 *data) (cursor->foreGreen & 0xff00) | (cursor->foreGreen >> 8); bg = ((cursor->backRed & 0xff00) << 8) | (cursor->backGreen & 0xff00) | (cursor->backGreen >> 8); - stride = (bits->width / 8 + 3) & ~3; + stride = BitmapBytePad(bits->width); for (y = 0; y < bits->height; y++) for (x = 0; x < bits->width; x++) { i = y * stride + x / 8; -- cgit v1.2.3