这个可不是远古代码,查了下github,好像是2018年提交的,专门添加了这行检查,但
这个说明没有详细解释具体原因,感觉要找到bugzilla上具体的bug才能解释清楚:
+ if (bi.biWidth < 0 || quint64(bi.biWidth) * qAbs(bi.biHeight) > 16384 *
16384)
+ return false;
bmp image handler: check for out of range image size
Make the decoder fail early to avoid spending time and memory on
attempting to decode a corrupt image file.
Change-Id: I874e04f3b43122d73f8e58c7a5bcc4a741b68264
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
@aavit committed on 11 Sep 2018
https://github.com/qt/qtbase/commit/621ab8ab59901cc3f9bd98be709929c9eac997a8
【 在 flybb 的大作中提到: 】
: 确实限制总像素数不能超过16384 * 16384
: 不知道为什么要这样限制
: static bool read_dib_infoheader(QDataStream &s, BMP_INFOHDR &bi)
: ...................
--
修改:gameplayer FROM 222.128.5.*
FROM 222.128.5.*