From a4c952f36f0c6b55f1410bc678b21f75de253a74 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mathias=20Fr=C3=B6hlich?= Date: Thu, 1 Dec 2011 20:48:10 +0100 Subject: [PATCH] swrast: Fix signed/unsigned problems with negative strides. In swrast_map_renderbuffer negative strides lead to render buffer map pointers that are off by 2^32. Make sure that intermediate negative values are not converted to an unsigned. Signed-off-by: Mathias Froehlich Reviewed-by: Brian Paul --- src/mesa/drivers/dri/swrast/swrast.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index bc115e8cf1a..629760441ad 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -419,8 +419,8 @@ swrast_map_renderbuffer(struct gl_context *ctx, stride = -stride; } - map += y * stride; - map += x * cpp; + map += (GLsizei)y * stride; + map += (GLsizei)x * cpp; *out_map = map; *out_stride = stride; -- 2.30.2