Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.11.0
-
None
-
a561d52a8 (dev), 6d25cd1db (6.5), 44926b9a0 (tqtc/lts-6.2)
Description
We have experienced crashes in NVidia drivers when creating textures from very large (25k x 25k) QImage instances.
After some poking around, I believe this might be caused by a missing check in QOpenGLTexture::setData. Line 3473 in qopengltexture.cpp converts the input QImage to RGBA8888. However, it does not check if the resulting QImage is 'null'.
A null check is present earlier in the function, but the format conversion can fail when converting to a format larger data size (due to the overflow checks).
Attachments
For Gerrit Dashboard: QTBUG-68884 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
467434,3 | Add QImage null check when QOpenGLTexture converts | dev | qt/qtbase | Status: MERGED | +2 | 0 |
467979,2 | Add QImage null check when QOpenGLTexture converts | 6.5 | qt/qtbase | Status: MERGED | +2 | 0 |
467990,2 | Add QImage null check when QOpenGLTexture converts | tqtc/lts-5.15 | qt/tqtc-qtbase | Status: ABANDONED | 0 | 0 |
467991,2 | Add QImage null check when QOpenGLTexture converts | tqtc/lts-6.2 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |