diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-05-11 15:52:23 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-05-11 19:02:30 +0000 |
commit | 242f8ef98527a9e25c8b028382eb4e16fe0ae8d7 (patch) | |
tree | cefdbb92d86d68fa50bfff25b9860fdc8a91757f /src/gui/painting/qpaintengine_raster.cpp | |
parent | 90fe6301ba43829d7dbe96bae33d5ce43640d726 (diff) |
Avoid potential read of uninitialized clip data
Set clip->count to 0 unconditional not just when hasRegionClip or
hasRectClip is true.
Change-Id: Ib3d1c4dc24373df3d4dbc393241226a8730bb9fc
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit 9d2850bda946fab28f689d284fd670e5cf361d8f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/gui/painting/qpaintengine_raster.cpp')
-rw-r--r-- | src/gui/painting/qpaintengine_raster.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index c527b167f6..90f4e048ed 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -3830,6 +3830,7 @@ void QClipData::initialize() Q_CHECK_PTR(m_clipLines); QT_TRY { allocated = clipSpanHeight; + count = 0; QT_TRY { if (hasRegionClip) { const auto rects = clipRegion.begin(); @@ -3841,7 +3842,6 @@ void QClipData::initialize() int y = 0; int firstInBand = 0; - count = 0; while (firstInBand < numRects) { const int currMinY = rects[firstInBand].y(); const int currMaxY = currMinY + rects[firstInBand].height(); @@ -3899,7 +3899,6 @@ void QClipData::initialize() } const int len = clipRect.width(); - count = 0; while (y < ymax) { QSpan *span = m_spans + count; span->x = xmin; |