59 Commits

Author SHA1 Message Date
Alex
f7e7f82b9d Add const 2023-08-03 17:10:17 +00:00
Alex
d7dc88e0d0 Fix UNKNOWN READ in Assimp::MDLImporter::InternReadFile_Quake1 2023-08-01 13:04:16 +00:00
Kim Kulling
1ec3dbd11a Merge branch 'master' into 5093294573486080 2023-06-27 17:04:58 +02:00
Alex
c6c95b69f6 Use SizeCheck 2023-06-14 07:38:02 +02:00
Alex
54b0c00418 Fix UNKNOWN READ in Assimp::MDLImporter::ParseSkinLump_3DGS_MDL7 2023-06-14 07:38:02 +02:00
Alex
f897b0c461 Merge branch 'master' into 6520123362508800 2023-06-13 22:06:08 +02:00
Alex
f5683b6f3a Update MDLMaterialLoader.cpp
Add parentheses
2023-06-05 14:27:21 +02:00
Alex
23f9990b22 Fix UNKNOWN READ in aiTexture::~aiTexture 2023-06-04 07:50:00 +00:00
Alex
f4d3b6e862 Fix Stack-buffer-overflow READ in aiMaterial::AddBinaryProperty 2023-06-03 16:28:55 +02:00
Jackie9527
87c309566f Fix warning related to missing-noreturn.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-04-01 18:46:12 +08:00
Marc-Antoine Lortie
eb3b48e523 Invert logic in build_bone_children_hierarchy. 2023-03-14 09:21:45 -04:00
Marc-Antoine Lortie
4c015077b8 Add missing member initializer. 2023-03-13 19:07:14 -04:00
Marc-Antoine Lortie
054dacd068 Improved comments. 2023-03-13 19:07:14 -04:00
Marc-Antoine Lortie
4b4cb55f22 Fix HL1MDLLoader flattened bone hierarchy. 2023-03-13 19:06:18 -04:00
Aaron Jacobs
53e5f19b14 Use C++ style casts 2023-02-17 11:20:00 -08:00
Aaron Jacobs
e4386d3013 Fix implicit conversion errors on macOS 2023-02-16 15:21:43 -08:00
Krishty
3d3e856925 Trim Trailing Whitespace 2023-01-16 09:12:35 +01:00
Kim Kulling
62486c6e7c FIX: Fix possible division by zero
- closes https://github.com/assimp/assimp/issues/4819
2022-12-02 09:24:51 +01:00
Kim Kulling
8fb7ba3444 Merge branch 'master' into modernize-smartptrs-literals 2022-11-29 09:58:17 +01:00
Kim Kulling
5689ac7869 Add overfolow check for invalid data.
- closes https://github.com/assimp/assimp/issues/3422
2022-11-22 10:50:52 +01:00
Aaron Gokaslan
ccfb175460 Apply various clang-tidy checks for smartprs and modern C++ types 2022-11-08 11:03:55 -05:00
slinky55
38ccb7e6c9 Used sizeof for buffer sizes instead of hardcoding values 2022-09-30 22:03:59 -04:00
slinky55
e2e45f7a14 Fixed issue with clang complaining about sprintf being depreciated 2022-09-30 00:34:33 -04:00
Aaron Gokaslan
e93fa6699a Manually fix up 100 more instances where it should be defaulted 2022-08-25 12:20:13 -04:00
Aaron Gokaslan
6fa21dcc6e Explicitly default all empty dtors 2022-08-25 11:32:59 -04:00
Kim Kulling
5bce9e8ce5 Update MDLMaterialLoader.cpp 2022-07-05 20:09:16 +02:00
Kim Kulling
a6b1a35748 Try to fix issue 4238
- Fix possible nullptr dereferencing.
- closes https://github.com/assimp/assimp/issues/4238
2022-07-05 20:05:10 +02:00
Kim Kulling
c2b05acaa6 Fix stack-overflow in MDLLoader
- Use correct len to copy filename.
- Closes https://github.com/assimp/assimp/issues/4447
2022-03-16 13:59:21 +01:00
Kim Kulling
552f3a308d Fix nullptr dereferencing
- Check if we have any texture coordinates before calculating them
- closes https://github.com/assimp/assimp/issues/4445
2022-03-16 10:08:20 +01:00
Kim Kulling
05746acb07 Merge branch 'new-file-detection' of https://github.com/krishty/assimp into krishty-new-file-detection 2022-01-16 20:41:24 +01:00
Kim Kulling
50c7301a38 Update copyrights 2022-01-10 21:13:43 +01:00
Kim Kulling
db2500c393 MDL: Do not try to copy empty embedded texture
- When an embedded texture is empty, skip it instead of trying to copy it. This must fail.
- closes https://github.com/assimp/assimp/issues/4238
- Found from the Google fuzzer.
2021-12-23 12:28:43 +01:00
Alex Rebert
1fe9d405f5 Fix out-of-bounds read in MDLImporter
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24502
2021-10-28 22:38:40 -04:00
Alex Rebert
932dfe0562 Fix overflowing allocations in MDLMaterialLoader
Some allocations might underallocate due to integer overflows. This
commit ensures that we are throwing an exception if the allocation size
does not fit in an unsigned int.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25341
2021-10-28 22:27:19 -04:00
IOhannes m zmölnig
3b8126d26a Fix spelling mistake 2021-10-08 08:48:01 +02:00
Kim Kulling
1f76b2e6b9 Merge branch 'master' into Q1MDLgroup 2021-10-01 13:36:55 +02:00
Kim Kulling
18531e3677 Next iteration for c++11 features. 2021-09-13 22:38:20 +02:00
Krishty
758116b083 removed trailing spaces and tabs from source and text
This commit ignores the “contrib” folder in order to prevent merge conflicts in dependencies, should these be updated via git.
2021-07-29 13:28:51 +02:00
Garux
c776924adf fix -Waddress-of-packed-member 2021-05-30 11:45:50 +03:00
Malcolm Tyrrell
4ec01cfdcd Improve use of logging 2021-05-13 12:05:31 +01:00
Kim Kulling
8013c5011c Merge branch 'master' into hl1mdlOrient 2021-05-12 08:21:40 +02:00
Jason C
2fd6102573 Merge branch 'master' into jc3-spam-killa 2021-05-07 14:48:24 -04:00
Jason C
a9fb1e56ae Add ai_str_toprintable; fixed garbage messages in HMP, MDL, Q3D loaders.
- ai_str_toprintable: See docs in StringUtils.h.
- HMP, MDL, Q3D: In particular, newlines in binary data were complicating logging.
2021-05-04 20:33:16 -04:00
Krishty
b79b84d34e Merge branch 'master' into new-file-detection 2021-05-05 00:09:42 +02:00
Krishty
0f3e6e2941 replaced std::size() with AI_COUNT_OF for pre-C++20 compilers 2021-05-05 00:08:54 +02:00
Kim Kulling
9c44c0ab2b Merge branch 'master' into remove-useless-scaling-prototype 2021-05-04 13:02:00 +02:00
Garux
4798ff3882 fix hl1 mdl orientation, tex coords, face windings order 2021-04-29 20:50:50 +03:00
Krishty
e6a47d93c2 removed dead code from 0d29203e24 2021-04-24 13:29:15 +02:00
Krishty
b00de10eb3 Simplified importer search and fixed a few bugs
The search for a matching importer had a few issues, see #3791. There were two different mechanisms to determine whether an importer accepts a specific file extension:
1. `aiImporterDesc::mFileExtensions`, which was forwarded to the UI via `BaseImporter::GetExtensionList()`.
2. `BaseImporter::CanRead()` when called with `checkSig == false`, which determines whether to actually use that importer.
Both were redundant and got out of sync repeatedly. I removed 2. completely and replaced it with 1., thereby syncing UI/import and shortening all `BaseImporter::CanRead()` implementations.

Further bugfixes:
- fixed glTF2 importer throwing exceptions when checking whether it can load a file
- removed `BaseImporter::SimpleExtensionCheck()` because it is no longer used and had a bug with case sensitivity

Since the `checkSig` parameter in `BaseImporter::CanRead()` is now useless, it can be removed completely. I’m not sure if this would break ABI compatiblity, so I’ll submit it with a later pull request.
2021-04-24 00:17:50 +02:00
Krishty
f761dc72f4 style fix - initializing and assigning empty std::string properly
std::string s(""); s = ""; calls the copy constructor, which in turn calls strlen(), … assigning a default-constructed string generates fewer instructions and is therefore preferred.

With C++11 uniform initialization, you’d simply write s = { } instead.
2021-04-16 23:43:56 +02:00