libexpat/expat/lib
Berkay Eren Ürün da10ca2328 Break cyclic appendAttributeValue recursion
During processing attributes with entity references,
appendAttributeValue can reach high recursion depths that can lead to
a crash.

This commit switches the processing to an iterative approach similar to
the fix for internal entity processing. A new m_openAttributeEntities
list is introduced to keep track of entity references that need
processing. When a new entity reference is detected, instead of calling
appendAttributeValue recursively, the entity will be added to open
entities list and the execution will return to storeAttributeValue,
where newly added entity will be handled. After the entity processing
is done, appendAttributeValue will be called by using the next token.
2025-03-13 14:01:31 +01:00
..
.gitignore
ascii.h
asciitab.h
expat.h Bump version to 2.6.4 2024-11-06 17:42:20 +01:00
expat_external.h
iasciitab.h
internal.h Sync file headers 2024-02-28 23:41:43 +01:00
latin1tab.h
libexpat.def.cmake Add app setting for enabling/disabling reparse heuristic 2024-01-29 17:09:36 +01:00
Makefile.am Sync file headers 2024-02-28 23:41:43 +01:00
nametab.h
siphash.h lib/siphash.h: Apply clang-format 18.1.5 2024-05-13 22:00:56 +02:00
utf8tab.h
winconfig.h Sync file headers 2024-02-06 14:13:00 +01:00
xmlparse.c Break cyclic appendAttributeValue recursion 2025-03-13 14:01:31 +01:00
xmlrole.c Sync file headers 2024-02-06 14:13:00 +01:00
xmlrole.h Sync file headers 2024-02-06 14:13:00 +01:00
xmltok.c Sync file headers 2024-02-06 14:13:00 +01:00
xmltok.h Sync file headers 2024-02-06 14:13:00 +01:00
xmltok_impl.c Mass-apply clang-format 17.0.3 using ./apply-clang-format.sh 2023-10-20 23:49:51 +02:00
xmltok_impl.h fix typos (#655) 2022-09-26 00:26:04 +02:00
xmltok_ns.c Sync years in file headers 2022-01-13 23:45:22 +01:00