Commit Graph

373 Commits (a87585668d61e69f1d5c09ef47bf0d656dc2dceb)

Author SHA1 Message Date
Kim Kulling 2eb86d75b8
Make sure no overflow can happen
- During UTF32 LE with BOM make sure that the byteswap operation will have enough space when iterating through the text buffer, which shall get encoded.
- closes https://github.com/assimp/assimp/issues/4230
2021-12-22 19:45:19 +01:00
Garux 46f618a6ef add Inter-Quake Model (IQM) Importer 2021-12-18 15:34:58 +03:00
Kim Kulling efdaf603b0
Merge branch 'master' into so-unloading 2021-12-16 14:52:58 +01:00
Viktor Kovacs d2c8cb755e
Merge branch 'master' into copyscene_fix 2021-12-08 14:29:31 +01:00
Kim Kulling e51feac2c5
Update PolyTools.h 2021-12-07 21:19:01 +01:00
Kim Kulling 1e4861f86e
Fix division by zero in PointInTriangle2D
- closes https://github.com/assimp/assimp/issues/4240
2021-12-07 20:45:21 +01:00
kovacsv 2be6bac4b0 Bug: Export crashes when any of the meshes contains texture coordinate names #4243 2021-12-07 20:42:43 +01:00
Kim Kulling 690e558b88
Update IOSystem.cpp 2021-11-25 09:32:52 +01:00
Thomas Nicky Thulesen 8b78a63b50 Allow dlclose of so library by avoiding unique symbols. 2021-11-23 20:39:48 +01:00
Kim Kulling 37c81e7a28
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-11-12 10:37:19 +01:00
Kim Kulling c22524351a
Merge branch 'master' into master 2021-11-12 09:56:56 +01:00
Kim Kulling 97b8e41997
Fix formatting 2021-11-12 09:56:45 +01:00
Kim Kulling 9f28ef4c25
Merge branch 'master' into Artenuvielle-x3d_pugi_migration_artenuvielle 2021-11-10 20:43:39 +01:00
Kim Kulling 30143e9626
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-11-09 10:53:58 +01:00
Alex Rebert 145f972d76
Fix out-of-bounds read in RemoveLineComments
Follow up to 6f07e89fdf, which was not sufficient to fix the bug.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24553
2021-10-30 13:43:41 -04:00
Alex Rebert e900617796
Fix out-of-bounds read in FileSystemFilter::Cleanup
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33238
2021-10-29 09:17:40 -04:00
Alex Rebert 6f07e89fdf
Fix out-of-bounds read in RemoveLineComments
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24553
2021-10-28 23:50:16 -04:00
Kim Kulling 8c0b869998
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-10-28 13:38:41 +02:00
Malcolm Tyrrell db0127859a CalculateDistance method 2021-10-21 08:39:44 +01:00
Kim Kulling 791cb195be
Merge branch 'master' into x3d_pugi_migration_artenuvielle 2021-10-20 21:14:43 +02:00
Malcolm Tyrrell c644f9d719 Subtract the centroid 2021-10-20 15:08:08 +01:00
Malcolm Tyrrell 4d10f5d133 Move distance initialization to Finalize. 2021-10-20 12:47:44 +01:00
Malcolm Tyrrell 5b13b97f27 Ensure the usage pattern of SpatialSort. 2021-10-19 14:22:28 +01:00
Kim Kulling 36c937cc19
Merge branch 'master' into debian-fixes 2021-10-18 09:07:47 +02:00
Kim Kulling a82dc887fc
Merge branch 'master' into x3d_pugi_migration_artenuvielle 2021-10-14 09:27:07 +02:00
Lassi Helynranta a01a5b4e3a Added missing include 2021-10-09 20:12:29 +03:00
IOhannes m zmölnig 3b8126d26a Fix spelling mistake 2021-10-08 08:48:01 +02:00
Malcolm Tyrrell a283a255a5 Allow schema checking of glTF2 file. 2021-10-07 10:01:32 +01:00
krishty 8c84afaff0
Merge branch 'master' into const-tokens 2021-09-15 23:31:00 +02:00
Artenuvielle 70dfdb8f9d
Merge branch 'master' into x3d_pugi_migration_artenuvielle 2021-09-15 14:51:38 +02:00
Kim Kulling 880a2f25bb
Merge branch 'master' into remove-useless-code 2021-09-14 23:33:34 +02:00
Kim Kulling 18531e3677 Next iteration for c++11 features. 2021-09-13 22:38:20 +02:00
René Martin 3f6a371b64 migrated x3d importer to pugixml reader 2021-09-12 11:37:33 +02:00
Krishty 5895c0c22c more const in format detection
BaseImporter::SearchFileHeaderForToken() expected a pointer to a non-const token list. This was probably an oversight, as nobody would realistically expect the function to change the list. Furthermore, it prevented token lists from being compiled to read-only memory, in some cases even causing the compiler to generate thread-safe initialization.

The list is now const and all callers declare their token lists static const, thus compiling them to read-only memory.
2021-09-11 23:23:05 +02:00
Krishty 4cf4e7454f removed useless code
In destructors, zeroing attributes or clearing containers is utterly useless.
2021-09-11 21:51:20 +02:00
Kim Kulling f47479aba4 Rework format + introdule missing C++11 features 2021-09-08 23:19:10 +02:00
René Martin 3001d88172 Merge branch 'master' into x3d_pugi_migration 2021-09-07 15:04:08 +02:00
Max Vollmer (Microsoft Havok) 51f294c587 Fixes issues our internal compliance and code quality tool found:
* Adds nullptr checks and asserts to protect certain code paths
* Fixes wrong integer type in a printf call
* Adds const to const values
* Prevents integer overflow with explicit casts
2021-08-30 14:59:17 +01:00
Kim Kulling a45878c41a
Fix possible overrun
- closes https://github.com/assimp/assimp/issues/3425
2021-08-27 14:04:00 +02:00
Kim Kulling 61ba320a04
Merge branch 'master' into master 2021-08-24 20:53:04 +02:00
Robert Ubiñas 58cae73401 Disable diagnostic for LogStream comparator 2021-08-11 19:32:26 -04:00
bearbit 408b5053a4 update LWO importer(available lwo3) 2021-08-03 20:18:14 +03: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
Rahul Sheth 1b37b74f9e Hunter fixes for stb_image 2021-07-07 17:01:19 -04:00
Rahul Sheth 0a5e49252d Merge remote-tracking branch 'origin/master' into HEAD 2021-07-07 16:35:29 -04:00
RichardTea 4a66ec25d0 Standardise Clearcoat, Sheen and Transmission
Also cleanup glTFv2 defaults, don't import/export if disabled
2021-06-14 15:11:41 +01:00
Kim Kulling d33cf1dc0c
Merge branch 'master' into x3d_pugi_migration 2021-06-06 16:06:08 +02:00
Scott Baldric 444fc9c373 Increasing length of mDataLength if rewriting the texture index increases magnitutde of index. 2021-06-04 16:32:46 -05:00
Kim Kulling a716f741d8
fix the include 2021-06-03 23:35:12 +02:00
Kim Kulling e0d1a36523
Merge branch 'master' into stb-image-updated 2021-06-03 23:07:38 +02:00
Carsten Rudolph 0905252833
Merge branch 'master' into master 2021-05-27 09:45:17 +02:00
Kim Kulling aa8d746dc3
Merge branch 'master' into patch-1 2021-05-27 08:35:29 +02:00
Kim Kulling 29e5f5fed1
Merge branch 'master' into master 2021-05-26 13:18:04 +02:00
Malcolm Tyrrell 084dc73b91 Fast path for unformatted calls. 2021-05-17 11:27:21 +01:00
Malcolm Tyrrell fd5d1211f9 Recover comment which got dropped 2021-05-17 10:33:00 +01:00
Malcolm Tyrrell 6e4b9d267b Remove TODO. Typo fix. 2021-05-17 10:29:06 +01:00
Malcolm Tyrrell 4ec01cfdcd Improve use of logging 2021-05-13 12:05:31 +01:00
Malcolm Tyrrell 5cd3bdd5c2 No need to distinguish formatting log functions. 2021-05-13 10:25:27 +01:00
Malcolm Tyrrell 78145f1425 log verboseDebug 2021-05-13 10:08:59 +01:00
Malcolm Tyrrell 89584c167a Log debug 2021-05-13 09:56:42 +01:00
Malcolm Tyrrell ca698c3e49 Log error 2021-05-13 09:36:42 +01:00
Malcolm Tyrrell 58bc4bcb63 log info 2021-05-12 12:55:21 +01:00
Malcolm Tyrrell 813d0aecdd Adjust warn 2021-05-12 12:43:24 +01:00
Carsten Rudolph a54cd432cd
Merge branch 'master' into master 2021-05-11 07:58:05 +02:00
Kim Kulling 433620350e
Merge branch 'master' into stb-image-updated 2021-05-10 11:30:45 +02:00
Jason C 859b32c045
[Logger] Log a notification instead of silently dropping long log messages.
Logs a notification instead of silently dropping long log messages, which can complicate debugging.

This way, if you don't see a message you expect to see, you'll immediately know why.

The *correct* approach would be to eliminate length filtering here entirely and use `snprintf` appropriately (also there's a tiny -- probably negligible -- performance hit here in calling `strlen` regardless of whether or not the verbosity level matches). Failing that, the second best option is to copy and truncate messages here. However, for now, this should be OK.
2021-05-07 22:32:32 -04:00
Jason C 7b404788a6
Merge branch 'master' into jc3-cctype-fixes 2021-05-07 14:48:01 -04:00
Carsten Rudolph 8ff52c0f89 Pass base name from export properties to the IO system. 2021-05-07 17:31:30 +02:00
Kim Kulling 350f2ea1d3 Fix build and merged master. 2021-05-06 21:36:25 +02:00
Kim Kulling 52228a93f8 Fix X3DGeohelper. 2021-05-06 21:07:38 +02:00
Jason C c08ad2e5c2
Merge branch 'master' into jc3-cctype-fixes 2021-05-05 19:04:47 -04:00
Krishty 816da9b677 merge and update all copies of stb_image.h 2021-05-05 23:15:41 +02:00
Kim Kulling 992f10e7bf
Merge branch 'master' into remove-useless-scaling-prototype 2021-05-05 21:54:31 +02:00
Kim Kulling 6dcbd0d566
Merge branch 'master' into new-file-detection 2021-05-05 09:37:52 +02:00
Krishty ae93f53b51 fixed signature-based detection on unknown extensions 2021-05-05 00:57:43 +02:00
Krishty b79b84d34e Merge branch 'master' into new-file-detection 2021-05-05 00:09:42 +02:00
Jason C 2925592c64 [assimp] Make sure ctype calls use unsigned char.
Cast to unsigned char as required by C++ (see C++ **[cctype.cyn]** -> ISO C99 section 7.4, [see also](https://en.cppreference.com/w/cpp/string/byte/isspace)).

Addresses https://github.com/assimp/assimp/issues/3867 and then some.
2021-05-04 17:31:13 -04:00
Kim Kulling 875acc5166
Merge branch 'master' into patch-4 2021-05-04 20:59:06 +02:00
Kim Kulling 9c44c0ab2b
Merge branch 'master' into remove-useless-scaling-prototype 2021-05-04 13:02:00 +02:00
Kim Kulling 39522178aa
Merge branch 'master' into fix-scale-msg 2021-05-04 08:13:12 +02:00
Kim Kulling 7843b24e03
Merge branch 'master' into SceneCombiner_Memory_Leaks 2021-05-01 09:16:06 +02:00
Jason C 07257f4c66
Merge branch 'master' into patch-4 2021-04-30 22:23:23 -04:00
Kim Kulling 0b92abe9b4
Merge branch 'master' into empty-string-style 2021-04-30 00:54:57 +02:00
Scott Baldric f523b1e0d7
Merge branch 'master' into SceneCombiner_Memory_Leaks 2021-04-29 08:52:51 -05:00
Jason C 975de81ab6
Merge branch 'master' into patch-4 2021-04-28 22:23:17 -04:00
Jason C cf498c979a
ASSIMP_ENABLE_DEV_IMPORTERS env var to control registration of wip importers; applied to X3D
- GetImporterInstanceList reads ASSIMP_ENABLE_DEV_IMPORTERS env var. Development importers are enabled if the env var is set and is not equal to the literal string "0".
- X3D importer will not be registered unless ASSIMP_ENABLE_DEV_IMPORTERS is set; addresses #3647.

TODO: If this change is incorporated, it should be documented.
NOTE: Effective git branch structure is a better solution. This is an alternate for #3825.
2021-04-28 11:16:49 -04:00
Kim Kulling 6abdd0cd3e
Fix crash when reading 0 bytes
- This is a valid option so crash shall not happen
2021-04-28 16:38:22 +02:00
Krishty e6a47d93c2 removed dead code from 0d29203e24 2021-04-24 13:29:15 +02:00
Krishty afe947d5db fixed malformatted message 2021-04-24 12:38:31 +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
Scott Baldric aae3788247 Fix: Removing double delete of texture items.
Textures were being double deleted after a merge scene because the
texture array wasn't being properly deleted at the end of merging.
Furthermore, the texture array was being sized to the number of
materials instead of the number of textures.
2021-04-22 08:49:47 -05:00
Krishty 3fead344ad updated version string (if anyone cares) 2021-04-19 07:37:12 +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
Kim Kulling da0543972b Fix parsing for AMF-Files. 2021-04-03 10:25:03 +02:00
Kim Kulling 6c89631581 closes https://github.com/assimp/assimp/issues/3678: ensure lowercase 2021-03-09 21:08:28 +01:00
Kim Kulling 9e8dbd0ca5 Update copyrights to 2021. 2021-02-28 12:17:54 +01:00
Ville Voutilainen 6ebae5e67c GCC 11 build fixes 2021-01-24 11:04:46 +02:00
Kim Kulling 11a17ebfe6
Merge branch 'master' into tdb/pbrt3_exporter 2021-01-20 20:03:30 +01:00
Kim Kulling f8dd3a9aa6
Update DefaultIOSystem.cpp 2021-01-20 08:05:43 +01:00
Kim Kulling ed3e745752
Update DefaultIOSystem.cpp 2021-01-19 21:58:04 +01:00
Kim Kulling f05a57560b
Remove buggy method. 2021-01-19 21:27:50 +01:00
Kim Kulling 5b325af79f
Fix typo. 2021-01-19 21:19:42 +01:00
Kim Kulling 5a6498af92
Fix nullptr access 2021-01-19 21:14:38 +01:00
Matt Pharr 8f5148f108
Merge branch 'master' into tdb/pbrt3_exporter 2021-01-18 17:15:40 -08:00
Dan Church 0bc5cf9fd3
Fix build failure on Linux 2021-01-18 16:17:28 -06:00
Kim Kulling f24c042925
Fix typo 2021-01-18 20:28:38 +01:00
Kim Kulling 0803e5e6f3
Fix nullptr dereference in scenepreprocessor 2021-01-18 20:25:33 +01:00
Matt Pharr 1042845414 Merge branch 'master' of https://github.com/assimp/assimp into tdb/pbrt3_exporter 2021-01-11 19:57:10 -08:00
Matt Pharr 71cfd8e0cf Merge branch 'master' into tdb/pbrt3_exporter 2021-01-11 19:54:11 -08:00
Matt Pharr 938537c884 Checkpoint improvements to pbrt exporter 2021-01-08 16:57:22 -08:00
Jean-Louis effe52368c No need to allocate a full size buffer for small files 2020-12-24 12:18:07 +01:00
Jean-Louis 895137c7d7 Fix unzip max buffer length error 2020-12-24 11:39:59 +01:00
Jean-Louis 54be7ac582 Update unzip contrib 2020-12-24 01:53:40 +01:00
Kim Kulling b4b011e764
Merge branch 'master' into master 2020-12-22 11:11:45 +01:00
wasd845 4e9176d2cd
_dest may be destructed twice if _dest is not null in MergeScenes() 2020-12-14 19:16:29 +08:00
Biswapriyo Nath e2af015a57 Common: Fix GCC error invalid conversion in MINGW. 2020-12-11 21:43:09 +05:30
Kim Kulling c7aeb882e6
Update ScenePreprocessor.cpp 2020-12-03 17:28:51 +01:00
Neil Clifford ea60563822
Merge branch 'master' into scenepreprocessor-memoryleak 2020-11-26 08:57:57 +00:00
Neil Clifford fc842a0f97 Sceneprecessor potential memory leak 2020-11-19 13:20:43 +00:00
Inho Lee 8845d7eed3 Prevent to generate redundant morph targets for glTF2 2020-11-11 20:49:22 +01:00
Kim Kulling 72bc41b50f
Merge branch 'master' into fix/xcode-compile-20201018 2020-10-28 22:00:08 +01:00
Kim Kulling 57e691e28e openddl: latest greatest. 2020-10-25 10:34:43 +01:00
Kim Kulling 6ee5e248ee
Fix typo 2020-10-22 22:26:29 +02:00
john d48ac9d0a4 fix xcode compile bug 2020-10-18 10:54:04 +08:00
Kim Kulling 857f62cde0 closes pParam.mReference = source; 2020-10-14 20:34:46 +02:00
Kim Kulling d6892b3f58 Merge branch 'master' into pugi_xml 2020-09-25 21:00:09 +02:00
Kim Kulling 0e9621012c
Adapt code style - finally :-). 2020-09-14 08:43:31 +02:00
Kim Kulling 1ff9e2b522
Adapt code style. 2020-09-14 08:40:21 +02:00
Kim Kulling 23defc275a
Merge branch 'master' into makeInternalErrorsAccessible 2020-09-14 08:36:13 +02:00
Denis Blank f3b25b999b Fix an unreferenced formal parameter warning on MSVC when no exporter is built 2020-09-05 23:20:31 +02:00
kimkulling 0730eebe6f fix collada handling of xml nodes. 2020-08-28 16:17:56 +02:00
Malcolm Tyrrell 8f893e3653 Actually, just keep the old behaviour for now. 2020-08-20 14:32:15 +01:00
Malcolm Tyrrell 9b5e758bdd Even simpler DeadlyErrorBase 2020-08-19 17:59:13 +01:00
Malcolm Tyrrell 6f9c61e157 Use case which matches surrounding code. 2020-08-19 17:57:25 +01:00
Malcolm Tyrrell e1a0163e7e Make all exceptions available. 2020-08-18 18:14:51 +01:00
Malcolm Tyrrell 0ffcdf160e Build formatting into DeadlyImportError 2020-08-18 16:32:34 +01:00
Malcolm Tyrrell 829ff1adf0 Maybe this will help. 2020-08-18 10:33:47 +01:00
Malcolm Tyrrell b1ed751b83 Provide an API for accessing internal errors. 2020-08-18 10:33:42 +01:00
Kim Kulling 729882debb
Fix incorrect index
closes https://github.com/assimp/assimp/issues/3364
2020-08-11 19:57:36 +02:00
kimkulling 13d7fad7f7 closes https://github.com/assimp/assimp/issues/2992: add single or double precision + missing compilers. 2020-08-07 14:23:07 +02:00
Kim Kulling e7ae576614
undo change 2020-08-03 15:54:19 +02:00
Kim Kulling 435bba30dd
Move functions into the correct preprocessor branch 2020-08-03 09:30:02 +02:00
RichardTea 9cad10a995 Disable MSVC warnings on all MSVC
Fixes the build on MSVC 2017 (and probably MSVC 2015)
2020-07-17 14:58:51 +01:00
Kim Kulling fa486240d5
Merge branch 'master' into rbsheth_update_hunter 2020-07-17 11:39:55 +02:00
Kim Kulling 516bdc2a4b
Merge branch 'master' into master 2020-07-16 22:48:02 +02:00
Kim Kulling df8792d24b
Merge branch 'master' into gltf1_gltf2_split 2020-07-16 10:45:55 +02:00
Kota Iguchi 84e68eaf24 fix invalid pointer for bone animation 2020-07-16 15:26:02 +09:00
Rahul Sheth 209a61d0e7 Update hunter and utf8cpp inclusion 2020-07-14 19:00:23 -04:00
Ryan Styrczula 84e342acd7 DefaultIOStream: Remove assert on empty count
fwrite() is valid to call with a 0 count, and will simply return 0.
See:
    https://en.cppreference.com/w/cpp/io/c/fwrite
    http://www.cplusplus.com/reference/cstdio/fwrite/

There are code paths where StreamWriter will call Tell(), which calls
Flush(), which calls Write(buffer.data(), 1, buffer.size()). This can
happen when nothing has yet been written to the buffer, so size is 0.
2020-07-14 10:39:18 -04:00
Kim Kulling 306e03d497
Merge branch 'master' into extras_property_callback 2020-07-11 22:46:19 +02:00