diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-03-25 14:55:34 (GMT) |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-03 10:47:43 (GMT) |
commit | 343df131f7207d65932c6505769aa2fb7fc04713 (patch) | |
tree | eb21e990c881d79f39a5bc85a5366df8190d5f7a /src/gui/painting/qdrawhelper_neon_p.h | |
parent | 565f5236c6c72effa914ae0537a1fb2b0de1027c (diff) | |
download | Qt-4.8.6.zip Qt-4.8.6.tar.gz Qt-4.8.6.tar.bz2 |
Avoid out of bounds memory reads when scaling imagesv4.8.6
The calculation of the width/height required for the
scaling algorithm was prone to floating point rounding
issues, where the lower value got rounded down, the higher
one rounded up. This could lead to a situation where we
iterated over one more line/pixel in the line than we have
in the source image.
Correct this by passing the dimension of the source image into
the function and bounds checking the values before iterating.
Backport of If44b2235a479224660d508a0504fec40d724763a from Qt 5
Task-number: QTBUG-35927
Change-Id: If145ee715a143b889538243f45227d8d78a0050f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'src/gui/painting/qdrawhelper_neon_p.h')
-rw-r--r-- | src/gui/painting/qdrawhelper_neon_p.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/painting/qdrawhelper_neon_p.h b/src/gui/painting/qdrawhelper_neon_p.h index 83be25e..360b5ce 100644 --- a/src/gui/painting/qdrawhelper_neon_p.h +++ b/src/gui/painting/qdrawhelper_neon_p.h @@ -96,14 +96,14 @@ void qt_alphamapblit_quint16_neon(QRasterBuffer *rasterBuffer, const QClipData *clip); void qt_scale_image_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, - const uchar *srcPixels, int sbpl, + const uchar *srcPixels, int sbpl, int sh, const QRectF &targetRect, const QRectF &sourceRect, const QRect &clip, int const_alpha); void qt_scale_image_rgb16_on_rgb16_neon(uchar *destPixels, int dbpl, - const uchar *srcPixels, int sbpl, + const uchar *srcPixels, int sbpl, int sh, const QRectF &targetRect, const QRectF &sourceRect, const QRect &clip, |