commit f903fcf5445a1194db53a7187566919a87e8e3eb Author: Vasily Dybala Date: Wed May 19 16:06:31 2021 +0300 qregion: Fix integer overflow on innerArea. If height and width are extremly big, it is possible that integer overflow will be during area calculation. Change-Id: I83b8d0e326688882f3f1b8af85ba5dd01c8a6abd Fix: QTBUG-93840 diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp index 77718ce747..38caa5dbbb 100644 --- a/src/gui/painting/qregion.cpp +++ b/src/gui/painting/qregion.cpp @@ -1240,7 +1240,7 @@ struct QRegionPrivate { inline QRegionPrivate() : numRects(0), innerArea(-1) {} inline QRegionPrivate(const QRect &r) : numRects(1), - innerArea(r.width() * r.height()), + innerArea(int(qint64(r.width()) * r.height() < INT_MAX ?: INT_MAX)), extents(r), innerRect(r) {