From d7294806fc43e8611c4441881e511af5f18c60db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Wed, 8 Dec 2010 16:46:09 +0100
Subject: Prevent out-of-bounds memory access in drawhelper.

The coordinates should be modulo the image width and height like for all
the other tiled blend functions.

Covered by perspectives.qps

Task-number: QTBUG-15837
Reviewed-by: Olivier Goffart
---
 src/gui/painting/qdrawhelper.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index a4ab278..024a69d 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -6432,6 +6432,8 @@ Q_STATIC_TEMPLATE_FUNCTION void blendTransformedTiled(int count, const QSpan *sp
                     int px = int(tx) - (tx < 0);
                     int py = int(ty) - (ty < 0);
 
+                    px %= image_width;
+                    py %= image_height;
                     if (px < 0)
                         px += image_width;
                     if (py < 0)
-- 
cgit v0.12