Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Tatiana Borisova 948599e7b7 QDomDocument::toByteArray() crashed in case of high XML nesting level
The issue the combination of:
- 300+ XML nesting level
- Small stack size, by default on Windows (1 MB)
- Unexpected and unexplained large stack frames with MSVC (3.5 kB)

The described factors combination leads to the stack overflow on
Windows + MSVC.

To fix the problem, I got rid of the recursive call from
QDomElementPrivate::save() and removed QDomNodePrivate::save()
implementation.

Instead of those I added the method that iterates through the tree not
using recursion.

[ChangeLog][QtXml] QDomDocument::toByteArray() now iterates the
nodes of the document instead of recursing into subnodes. This avoids
a stack-overflow crash that used to arise with deeply-nested document
structures.

Fixes: QTBUG-131151
Change-Id: Ib74aaef1422716f2aafcb89dfc8c05ef334e2a54
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 387633a6069a5e0e9b976971691b1b82725b6132)
2024-12-06 11:53:53 +01:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
LICENSES Add REUSE.toml files 2024-11-07 08:38:49 +01:00
bin CMake: Don't hard-code "libexec" in qt-configure-module 2024-08-20 13:50:32 +02:00
cmake CMake: Support manual multiple projects within-a-repo SBOM generation 2024-12-05 16:44:33 +00:00
coin coin: Build qdoc as part of repo instructions for CI doc building 2024-11-02 14:49:15 +01:00
config.tests QThread/Unix: refactor to split QThreadPrivate::finish() in two phases 2024-11-07 15:00:11 -07:00
dist Add REUSE.toml files 2024-11-07 08:38:49 +01:00
doc Create qdoc macros for C++ class docs 2.1: qHash() 2024-12-04 18:55:58 +00:00
examples Improve drag-and-drop visual handling in DragWidget 2024-12-05 23:29:12 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Android: add option to run app detached to runner script 2024-12-04 14:44:52 +00:00
mkspecs Add REUSE.toml files 2024-11-07 08:38:49 +01:00
qmake QFactoryLoader: fix the ability to load symlinks to plugins 2024-10-17 17:01:41 -07:00
src QDomDocument::toByteArray() crashed in case of high XML nesting level 2024-12-06 11:53:53 +01:00
tests QDomDocument::toByteArray() crashed in case of high XML nesting level 2024-12-06 11:53:53 +01:00
util Fix build of lexgen tool 2024-12-05 02:29:48 +00:00
.cmake.conf CMake: Decouple applied cmake policies from CMake version set 2024-11-14 18:59:00 +00:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Git ignore Visual Studio CMake build directories 2023-11-24 23:42:05 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag
CMakeLists.txt cmake: add _extra_files IDE target from heuristics 2024-04-12 08:36:01 +08:00
REUSE.toml Add REUSE.toml files 2024-11-07 08:38:49 +01:00
config_help.txt CMake: Change SBOM generation to be enabled by default (mostly) 2024-10-21 08:37:20 +00:00
configure Change configure license 2024-02-02 15:23:02 +00:00
configure.bat configure.bat: Fix errors on Windows 2024-03-05 11:56:24 +01:00
configure.cmake CMake: Report success for 'separate_debug_info' where applicable 2024-11-02 16:25:06 +00:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
licenseRule.json Include relevant Unicode Inc. copyright line in generated data files 2024-08-31 08:56:42 +00:00
qt_cmdline.cmake configure: accept -c++std c++17 again 2024-06-13 20:40:06 +00:00