1
0
mirror of https://github.com/leethomason/tinyxml2.git synced 2026-07-21 19:23:00 +04:00
Commit Graph

1280 Commits

Author SHA1 Message Date
Lee Thomason b2dea344ad remove dead platforms 2026-03-09 17:52:37 -07:00
Lee Thomason 111f462dc4 remove old comments 2026-03-09 17:41:19 -07:00
Lee Thomason 3324d04d58 minor readme fixes (#1054) 2025-11-22 16:26:53 -08:00
LuridHound c4e29afeaf Fix issue 1000 (#1040)
* fix compilation warnings produced by -Wold-style-cast

* remove incorrect cast
2025-11-22 16:08:17 -08:00
Lee Thomason 5c9a452c73 Merge fallthrough to cpp (#1052)
Fix warnings on merge fallthroughs
2025-11-22 16:02:49 -08:00
Lee Thomason 2722500313 Merge pull request #1043 from gruenich/feature/replace-c-style-casts
Replace C-style casts
2025-11-22 15:38:08 -08:00
Christoph Grüninger b5e767a6b9 Fix more warnings for C-style casts
Use static_cast or reinterpret_cast.
Found by g++ 15.
2025-07-26 23:08:21 +02:00
Lurend e186491558 fix compilation warnings produced by -Wold-style-cast 2025-07-26 14:26:04 +02:00
Lee Thomason 36ff404c34 Update yaml file
Update yaml file
2025-07-09 20:54:23 -07:00
Lee Thomason 302f4661a7 update yaml 2025-07-09 20:48:05 -07:00
Lee Thomason e6caeae857 Fix the build actions by increasing the ubuntu test version
Update ubuntu build version
2025-06-08 11:37:20 -07:00
Lee Thomason b765a210b3 grumble 2025-06-08 11:29:52 -07:00
Lee Thomason 6e246aec4d update ubuntu build version 2025-06-08 11:28:28 -07:00
Lee Thomason 30dee1efa0 Merge pull request #1021 from Malcohol/Malcohol/optionalAposHandling
Optional Apos escaping
2025-06-08 11:17:12 -07:00
Lee Thomason a93163d2f5 Merge pull request #1020 from lbatuska/master
Remove unnecessary assert >=0 on size_t
2025-06-08 11:08:25 -07:00
Malcolm Tyrrell f87d0e3077 Add test for new and default behaviour 2025-03-30 10:20:26 +01:00
Malcolm Tyrrell 487f42aa69 Optional apos escaping 2025-03-29 18:13:43 +00:00
Levente Batuska afff7bf328 fix: remove unnecessary assert 2025-03-20 02:06:08 +01:00
Lee Thomason 9148bdf719 setting the version to 11.0.0 11.0.0 2025-03-15 14:45:48 -07:00
Lee Thomason 57eea48c5b version to 10.1.0 10.1.0 2025-03-08 10:45:16 -08:00
Lee Thomason 198cb82c9b Merge pull request #1017 from luzpaz/typos-xmltest
fix typos in xmltest.cpp
2025-03-08 10:36:50 -08:00
Lee Thomason c6ab6d76e8 Merge pull request #1013 from AlbertHungGarmin/arm_compiler_error
Fix ARM Compiler build errors
2025-03-08 10:36:09 -08:00
luzpaz 008e32968f fix typos in xmltest.cpp
Found via `codespell -q 3 -S "./resources/dream.xml" -L currenty,ot,previousy,te,ue`
2025-01-25 09:51:29 -05:00
Albert Hung 0ca3584fa4 Fix ARM Compiler build errors
Fix build errors on ARM Compiler 5 (DS-5) by treating the compiler like QNX, Borland C, and the Android NDK for purposes of system header includes.
2024-12-17 10:13:57 +08:00
Lee Thomason 57ec94127b Merge pull request #1011 from leethomason/leethomason/charref2
Defensive check for UTF conversion
2024-12-09 21:47:05 -08:00
Lee Thomason 1fadaae0c9 another defensive check 2024-12-09 21:39:30 -08:00
Lee Thomason 4cbb25155c Merge pull request #1009 from leethomason/leethomason/charref
Fix the potential overflow in char refs
2024-12-09 21:21:42 -08:00
Lee Thomason ff48ea1bae improve fix 2024-12-09 21:17:33 -08:00
Lee Thomason 494735de30 fix the potential overflow in char refs 2024-12-04 18:07:15 -08:00
Lee Thomason d418ac22f2 Merge pull request #1007 from gruenich/feature/update-github-actions
update GitHub actions checkout and actions-setup-cmake
2024-12-04 17:49:04 -08:00
Lee Thomason d13a151c8d Merge pull request #1004 from bebuch/master
add CMake option to disable PkgConfig install
2024-12-04 17:46:06 -08:00
Lee Thomason 601a953b74 Merge pull request #1008 from AlbertHungGarmin/old-style-cast_warning
Fixed old-style-cast warnings
2024-12-04 17:44:31 -08:00
Albert Hung 162bd4e925 Fixed -Wold-style-cast warnings
Fixed old-style-cast warnings
2024-12-02 13:47:07 +08:00
Christoph Grüninger 1fdf653269 GitHub Actions: Update actions/checkout to v4
Fixes warnings regarding deprecated node12
2024-11-24 17:24:03 +01:00
Christoph Grüninger 86fe31c836 GitHub Actions: Update actions-setup-cmake to v2
Fixes warnings regarding deprecated node12
2024-11-24 17:21:49 +01:00
Benjamin Buch 20ecbb22d8 add CMake option to disable PkgConfig install 2024-11-20 16:22:20 +01:00
Lee Thomason 374292e9ba Merge pull request #998 from Sigmarik/master
Fix: typo in the `XMLNode::DeepClone` description
2024-09-02 09:33:10 -07:00
Lee Thomason 2ac336a253 Merge pull request #992 from ssmolov/namespace.comment.fix
fix tinyxml2 namespaces' ending comment
2024-09-02 09:32:55 -07:00
Lee Thomason 38894bfa7f Merge pull request #993 from jengelh/master
Make DocPrinter support DynArrays larger than 2G
2024-09-02 09:29:54 -07:00
sigmarik 780b16b5ae chore: fix typo in the XMLNode::DeepClone description 2024-08-31 19:34:27 +03:00
Jan Engelhardt 04bbc06cd0 Make DocPrinter support DynArrays larger than 2G
If the DynArray within an XMLPrinter object carries 2 gigabytes of
data or more, XMLPrinter::CStrSize returns a truncated result. If a
program casts this back to size_t without thought, sign extension
leads to bad things(tm).

```c++
int main()
{
	tinyxml2::XMLDocument doc;
	doc.InsertEndChild(doc.NewDeclaration());
	auto root = doc.NewElement("root");
	size_t sz = 0x80000002;
	auto blank = new char[sz];
	memset(blank, ' ', sz);
	blank[sz-1]='\0';
	root->SetText(blank);
	doc.InsertEndChild(root);
	tinyxml2::XMLPrinter printer(nullptr);
	doc.Print(&printer);
	std::string_view sv{printer.CStr(), static_cast<size_t>(printer.CStrSize())};
	// sv.size() is way too big, causing overflows on access
	std::string dup(sv); // boom
}
```

Fixes: 2.0.2-873-geb3ab0d
2024-08-14 15:28:42 +02:00
Sergey Smolov 62f6b14e91 fixup
Signed-off-by: Sergey Smolov <smolov@ispras.ru>
2024-08-12 19:22:22 +03:00
Sergey Smolov b25c39aaad fix tinyxml2 namespaces' ending comment
Signed-off-by: Sergey Smolov <smolov@ispras.ru>
2024-08-12 19:16:14 +03:00
Lee Thomason 8a519a556a Merge pull request #990 from jengelh/master
Avoid crashing when SetText is called with a 2GB large string
2024-07-06 12:41:55 -07:00
Lee Thomason c93b6f78d4 Revert "Merge pull request #983 from DiplomInformatikerFranzHoepfinger/feature/fix_32_bit_types"
This reverts commit 8e4bfebad5, reversing
changes made to a0f66fdf71.
2024-07-06 12:28:04 -07:00
Lee Thomason 8e4bfebad5 Merge pull request #983 from DiplomInformatikerFranzHoepfinger/feature/fix_32_bit_types
Update QueryIntValue and QueryUnsignedValue to use int32_t and uint32_t types for better consistency.
2024-07-06 12:00:24 -07:00
Jan Engelhardt eb3ab0df5d Make DynArray support objects larger than 1 gigabyte
The expression ``const int newAllocated = cap * 2;`` easily causes
overflow, as soon as the input is 1.0 GiB. This goes unnoticed because
release builds of tinyxml2 do not have active assertions.

The change in commit 9.0.0-20-g8fd6cc6 did not do anything useful;
the signed multiplication overflow (and thus undefined behavior)
still occurs.

Using ``int`` in this class is really archaic, because it limits the
class to a gigabyte even on 64-bit platforms.

The multiplication overflow check also needs to include sizeof(T),
otherwise you can run into unsigned multiplication overflow (defined,
but undesirable) in the memcpy() call.

testcase:

int main()
{
        tinyxml2::XMLDocument doc;
        doc.InsertEndChild(doc.NewDeclaration());
        auto root = doc.NewElement("root");
        size_t sz = 0x80000001;
        auto blank = new char[sz];
        memset(blank, ' ', sz);
        blank[sz-1]='\0';
        root->SetText(blank);
        doc.InsertEndChild(root);
        tinyxml2::XMLPrinter printer(nullptr);
        doc.Print(&printer);
}
2024-07-01 22:07:51 +02:00
Jan Engelhardt 3a893e5757 Remove extraneous +x bit from source files 2024-07-01 14:14:33 +02:00
Lee Thomason a0f66fdf71 Merge pull request #984 from Blake-Madden/master
Fix typo in comment
2024-06-13 08:29:51 -07:00
Lee Thomason a965e28c4f Merge pull request #978 from AlbertHungGarmin/fix-format-specifier
Fix format specifier mismatch in XMLUtil::ToStr
2024-06-13 08:17:16 -07:00