Go to file
Eskil Abrahamsen Blomfeldt 1dc88a1b5f Avoid infinite loop when loading huge files
QTextDocumentLayout could get into an infinite loop when the
contents exceeded QFIXED_MAX.

Specifically, QFIXED_MAX is used as meaning "one infinite page"
which means that newPage() will just return when it sees this
page height. If the page actually grew larger than this, though,
we would treat it as a page break and enter a loop where we try
to call newPage() to create new pages and never return.

The layout engine cannot support documents this large, so we detect
the case and then just finish the layout loop early when it is
encountered.

Pick-to: 6.5 6.6
Fixes: QTBUG-112968
Change-Id: I485303d714d112119a971c43e0086bf6d3d23e9f
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2023-06-08 08:00:06 +00:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Add simple project generation based on existing source files 2023-02-08 12:59:19 +01:00
cmake CMake: apply OpenBSD patch to enable $ORIGIN 2023-06-07 17:09:52 -07:00
coin Add Axivion analysis commands 2023-05-17 14:04:48 +03:00
config.tests Remove the mandatory x86-64 features from its feature list 2023-05-31 14:55:37 -07:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Move widgets Application example to manual tests 2023-06-04 01:18:19 +02:00
examples Fix deprecation warnings agains u"..."_qs in dnslookup.cpp 2023-06-07 10:26:04 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Pass native path in qt-internal-configure-tests 2023-04-17 23:32:34 +02:00
LICENSES Clarify license of SHA-1 algorithm 2023-04-26 16:36:18 +02:00
mkspecs iOS: Don't add Qt libraries to PRE_TARGETDEPS of xcodebuild Makefile 2023-05-10 16:37:47 +02:00
qmake Add TRY_RUN to host tools 2023-06-08 05:09:00 +00:00
src Avoid infinite loop when loading huge files 2023-06-08 08:00:06 +00:00
tests tst_QProcess: move the crasher code to a header 2023-06-07 17:09:52 -07:00
util qsimd_x86: update from upstream and enable a few more features 2023-05-26 16:22:22 -07:00
.cmake.conf Centralize copyright information for Qt 2023-03-20 13:03:44 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore git: ignore ._* files 2023-03-28 10:44:57 +02:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt Introduce QT_ALLOW_SYMLINK_IN_PATHS flag 2023-05-03 19:44:45 +02:00
config_help.txt Remove the -sysroot option from configure 2023-05-12 09:46:24 +02:00
configure Retrieve an old -redo behavior 2023-02-07 18:51:58 +00:00
configure.bat Retrieve an old -redo behavior 2023-02-07 18:51:58 +00:00
configure.cmake Add Unity Build to config.summary 2023-06-07 23:18:03 +00:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
qt_cmdline.cmake Remove the -no-gcc-sysroot configure option 2023-05-26 17:44:53 +02:00
sync.profile rhi: Make it a QPA-style private but semi-public API 2023-05-21 15:42:58 +02:00