Commit Graph

1246 Commits (cb22d531a66dc249b5ef0d22291bc0dc7eaf0951)

Author SHA1 Message Date
Krishty 793284a766 Fix Build Without ArmaturePopulate Post Process Step
This post process step introduced new attributes into `aiSkeletonBone`. Said attributes are only defined with the process enabled, i.e. when the `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` macro has not been defined.

Some code, however, accessed the variables unconditionally, leading to build failures if `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` was defined.

This commit adds the missing checks.
2023-01-16 08:42:50 +01:00
Krishty 5cbc00a595 Fix Build With M3D Import Only
`M3DWrapper.h` is designed to omit the definition of `class M3DWrapper` if neither M3D import nor M3D export are compiled.
608bccd9cf touched the corresponding preprocessor checks and introduced a bug:
```
#ifndef ASSIMP_BUILD_NO_M3D_IMPORTER
#if !(ASSIMP_BUILD_NO_EXPORT || ASSIMP_BUILD_NO_M3D_EXPORTER)
class M3DWrapper {
```
When compiling
- with M3D import enabled,
- but with either export generally disabled or M3D export disabled specifically,
These checks evaluate to the wrong result and skip the definition, leading to a build failure in dependent code.
```
#if 1 // import enabled
#if !(1 || 1) // export disabled and M3D export disabled
```
This commit fixes the check to compile the definition if neither import is disabled.
2023-01-16 08:29:49 +01:00
Krishty bad76fd0f1 Replace Variables With Literals 2023-01-16 08:18:36 +01:00
Krishty e5c02e8d45 Remove Useless “virtual”
These functions are already marked “override”, and their neighbors had “virtual” removed as well.
2023-01-16 08:12:24 +01:00
Martin Mory 43c0f8bb3d Remove whitespace between a <v> tag and the first number, otherwise first call to strtoul10() returns 0 and the indices are broken, leading to possible out-of-bound access and memory corruption/crash 2023-01-15 23:03:41 +01:00
Kim Kulling 2d37f49f51
Remove deprecated comment
- closes https://github.com/assimp/assimp/issues/4869
2023-01-15 19:12:24 +01:00
Kim Kulling b393132b58
Merge branch 'master' into spelling 2023-01-08 17:43:55 +01:00
Kim Kulling 96b071bdb1
Fix: Fix possible division by zero
- closes https://github.com/assimp/assimp/issues/4860
2023-01-04 09:19:37 +01:00
Andy Maloney e893248e7c Fix several spelling mistakes & a comment 2023-01-01 13:31:48 -05:00
Kim Kulling 376f66a06d
Merge branch 'master' into master 2022-12-16 10:11:56 +01:00
Kim Kulling c3d15a3f51
Fix minor review findings. 2022-12-16 09:03:40 +01:00
Kim Kulling c92b84e38d
Merge branch 'master' into patch-10 2022-12-16 09:00:41 +01:00
Kim Kulling db8ff41679
Update MD5Parser.cpp 2022-12-15 14:06:57 +01:00
Kim Kulling 2612950b7b
Merge branch 'master' into patch-9 2022-12-15 14:05:35 +01:00
sashashura 917352dd8b
Fixes Heap-buffer-overflow READ 1 in Assimp::ObjFileParser::getFace
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49274
2022-12-11 01:54:57 +01:00
Alex 90769ef3e6
Fixes Heap-buffer-overflow READ 1 in Assimp::MD5::MD5Parser::ParseHeader
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49422
When it reaches the `SkipSpacesAndLineEnd`, `in` already points past `bufferEnd` and it leads to out of bounds memory read.
2022-12-11 00:02:09 +00:00
Alex d5294be00b
Fixes Heap-buffer-overflow READ 4 in Assimp::ScenePreprocessor::ProcessMesh
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49797
2022-12-10 01:22:00 +00:00
Umesh Rajesh Ramchandani 2d372b302f Fixed bug when exporting binary FBX
Fixed vector subscript out of range bug when NULL_RECORD is passed to PutString and is actually null
2022-12-08 14:59:25 +01:00
Kim Kulling 9d57ac9cc5 Fix:Add missing semicolon. 2022-12-05 13:15:42 +01:00
Kim Kulling 81f85a6f93 Avoid undefined-shift in Assimp::ASE::Parser::ParseLV4MeshFace. 2022-12-05 13:07:52 +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 f578b15759
Merge branch 'master' into explspec 2022-11-30 14:03:09 +01:00
Thomas Köppe 7d06d798af [BlenderDNA.h] Declare explicit specializations
It is an ODR violation to use a template specialization for which an
explicit specialization is defined somewhere whose declaration is not
visible at the point of use.

Found via clang's -Wundefined-func-template warning.
2022-11-29 18:38:33 +00: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
Kim Kulling 1d1cd93371
Merge branch 'master' into KHR_materials_emissive_strength 2022-11-21 20:55:13 +01:00
Jan Krassnigg 08f2f0f82f Don't hide out-of-memory during FBX import 2022-11-18 13:50:33 +01:00
Adam Beili 95d98ec98b
fixed indentation error 2022-11-08 20:55:20 +02:00
Adam Beili 49bc22ddb5
Merge branch 'master' into KHR_materials_emissive_strength 2022-11-08 20:51:20 +02:00
Aaron Gokaslan 3730b7414f Use make_shared in IFCBoolean 2022-11-08 11:30:53 -05:00
Aaron Gokaslan d635bc6914 Fix some indentation 2022-11-08 11:19:12 -05:00
Aaron Gokaslan ccfb175460 Apply various clang-tidy checks for smartprs and modern C++ types 2022-11-08 11:03:55 -05:00
Aaron Gokaslan 97cb1c6b15 Fix perfect fowards 2022-11-07 11:01:16 -05:00
Aaron Gokaslan 5a0df03d2b Fix another missing move in glTFCommon.h 2022-11-07 09:34:00 -05:00
Adam Beili 945d93b46a fixed indentation 2022-11-04 09:37:28 -07:00
Adam 852ea8325c Added support for KHR_materials_emissive_strength
according to spec https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_emissive_strength
2022-11-03 23:11:21 +02:00
Aaron Gokaslan 899f8e1d17 Remove redundant ctor 2022-11-03 12:46:40 -04:00
Aaron Gokaslan 02378b5e70 Add one more missing move 2022-11-03 12:36:58 -04:00
Aaron Gokaslan 8da3d277c7 add missing std moves 2022-11-03 12:35:10 -04:00
Kim Kulling 99e515fbfd Fix:Fix possible nullptr dereferencing + refactorings. 2022-10-29 17:08:26 +02:00
Sergey ac87b9ce7e fixed error with trailing zero symbol as placeholder character 2022-10-19 09:30:32 +03:00
Kim Kulling 35136bc90c
Merge branch 'master' into master 2022-10-18 19:25:14 +02:00
Kim Kulling 07aef23d24 Fix: Add missing ahndling for double export in json 2022-10-18 19:05:04 +02:00
François Lozes e17976e6e2 * fix bug reading ply file in case of presence of "end_header\n<BINARY_DATA>..." with <BINARY_DATA> starting by "\n" 2022-10-14 13:16:18 +02:00
slinky55 e0fb1674d1 Merge branch 'clang-fix' of github.com:slinky55/assimp into clang-fix 2022-09-30 22:04:11 -04:00
slinky55 38ccb7e6c9 Used sizeof for buffer sizes instead of hardcoding values 2022-09-30 22:03:59 -04:00
slinky55 5f28370f7f
Merge branch 'master' into clang-fix 2022-09-30 21:57:32 -04:00
slinky55 e2e45f7a14 Fixed issue with clang complaining about sprintf being depreciated 2022-09-30 00:34:33 -04:00
Florian Born 7eb9edf0b9 Make FBX parser resilient to missing data streams 2022-09-21 11:45:54 +02:00
Kim Kulling 6415c0bfc9 FIX: Use attribute to fix warning. 2022-09-20 21:39:09 +02:00
Kim Kulling 1f61f0c3de FIX: Caculate buffer end pointer after initing all attributes 2022-09-20 21:35:44 +02:00
Kim Kulling f1766c4bd5 FIX: Fix head overflow in MD5-parser. 2022-09-20 21:03:58 +02:00
Kim Kulling b3c7bdbdd6 Add check for wall switch from cmake 2022-09-17 18:16:42 +02:00
Kim Kulling e4c77aa4fa Fix: Use ASCII treeview in assimp-cmd. 2022-09-16 21:55:14 +02:00
HiMemX 4c9d270a5e
-Vertex export fix 2022-09-07 23:10:31 +02:00
Gargaj d15b4ad7ef add missing light data to assbin import/export 2022-09-05 16:09:24 +02:00
Aaron Gokaslan 411171fa45 Apply some more modernize-use-emplace 2022-09-02 11:20:02 -04:00
Aaron Gokaslan e3b01e10db apply fixes to more headers 2022-09-01 12:28:45 -04:00
Aaron Gokaslan 4c6652f5b0 Add a handful of missing fixes 2022-09-01 11:37:53 -04:00
Kim Kulling f527e56f22
Merge branch 'master' into explicitly-default-dtors 2022-08-30 22:21:06 +02:00
Kim Kulling 02e6c425f9 Fix ordering of initalizer list 2022-08-27 15:20:53 +02:00
Kim Kulling 14186bcd6b Code cleanup and some new unittests for edgecases. 2022-08-27 14:07:45 +02: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 2b30b7e062
Merge branch 'master' into skylion007/modernize-use-emplace 2022-08-24 11:48:30 +02:00
Kim Kulling 659195d852
Fix the fixme
- Based on the implementation in top of the last one I guess I know how to fix that.
- Replacing push_back by emplace_back
2022-08-24 11:17:10 +02:00
Turo Lamminen 0d8723a3eb Add FIXME comment 2022-08-24 10:43:40 +03:00
Turo Lamminen 654ae3af4e Fix out of bounds access in X3D loader 2022-08-24 10:42:01 +03:00
Aaron Gokaslan 25add7baa2
Merge branch 'master' into skylion007/modernize-use-emplace 2022-08-23 15:14:48 -04:00
Kim Kulling 87f601531c
Merge branch 'master' into master 2022-08-23 21:14:45 +02:00
Aaron Gokaslan b176061c41 Remove extra space in emplace insertions 2022-08-23 11:46:30 -04:00
Aaron Gokaslan 27edb43600 Apply modernize-use-emplace clang-tidy rule 2022-08-23 11:41:49 -04:00
Turo Lamminen f890bc791f Fix out of bounds write 2022-08-23 14:38:27 +03:00
Turo Lamminen 68bc6a06b9 Use unique_ptr for aaiBones instead of explicit delete[] 2022-08-23 14:17:56 +03:00
Turo Lamminen 03397d42e2 Use unique_ptr for aaiFaces instead of explicit delete[] 2022-08-23 14:15:06 +03:00
Turo Lamminen 795c0abcc8 Apply modernize-loop-convert to the simplified loop 2022-08-23 14:10:23 +03:00
Turo Lamminen 1ca44acebc Simplify a for loop 2022-08-23 14:10:23 +03:00
Turo Lamminen 712671e81a Apply modernize-loop-convert again 2022-08-23 14:10:20 +03:00
Turo Lamminen 5f28c51c03 Apply clang-tidy modernize-loop-convert transformation 2022-08-23 13:59:42 +03:00
Kim Kulling 2013ae114a
[WIP] Use ai_Real to write correct accuracy
- closes https://github.com/assimp/assimp/issues/4676
2022-08-18 17:41:07 +02:00
vkaytsanov 4c143eb581
Merge branch 'master' into master 2022-08-17 12:01:44 +03:00
Turo Lamminen 1c59de42fc Make some blender fields warn if missing instead of error 2022-08-17 11:42:32 +03:00
Turo Lamminen d2dc0401c3 Use weak pointer for ModifierData prev to avoid memory leak 2022-08-17 11:42:32 +03:00
Turo Lamminen 30555282fe Use weak pointer for ElemBase last to avoid memory leak 2022-08-17 11:42:32 +03:00
Turo Lamminen 56b6446913 Use weak pointer for MirrorModifierData mirror_ob to avoid memory leak 2022-08-17 11:42:32 +03:00
Turo Lamminen 90d1464405 Remove set but unused variables 2022-08-17 11:42:32 +03:00
Turo Lamminen 2e64880abf Inherit SubsurfModifierData and MirrorModifierData from SharedModifierData
This makes the cast in BlenderModifierShowcase::ApplyModifiers work
correctly and not invoke UB.
2022-08-17 11:42:32 +03:00
Turo Lamminen e43e3e11b9 Move SharedModifierData definition to BlenderScene.h 2022-08-17 11:42:32 +03:00
Turo Lamminen 2c1943cd10 Improve BlenderDNA error message 2022-08-17 11:42:32 +03:00
Kim Kulling 89c4640744
Merge branch 'master' into master 2022-08-16 20:53:45 +02:00
vkaytsanov d469c7b161 Remove exception on glTF 2.0 loading 2022-08-16 15:52:43 +03:00
Kim Kulling baf14f6c16
Merge branch 'master' into master 2022-08-12 14:09:04 +02:00
Aleks L 4b85eb59c2
Fixes Heap-buffer-overflow READ in Assimp::ASE::Parser::ParseLV1SoftSkinBlock 2022-08-10 15:30:07 +01:00
Ville Voutilainen 253f8bfa62 Use unqualified uint32_t everywhere in FBXBinaryTokenizer
The use of qualified std::uint32_t requires including <cstdint> instead
of <stdint.h> on some implementations, and that breaks the build of Qt 6
on GCC 13. Just use the unqualified name everywhere.
2022-08-09 01:54:31 +03:00
Kim Kulling 5084a4d155
Use [[fallthrough]]; to mark whished fallthroughs
- closes https://github.com/assimp/assimp/issues/4654
2022-08-05 20:49:37 +02:00
Kim Kulling eac0876c9b Refactoring: Use correct prefix for attributes in ObjImport. 2022-07-31 20:54:58 +02:00
Kim Kulling dddfb74902 Fix another mem-leak 2022-07-31 13:37:42 +02:00
Kim Kulling c349035cd1 Fix face memleak. 2022-07-31 12:10:43 +02:00
Kim Kulling 85f86ec076 Revert using face as pod type 2022-07-30 21:52:33 +02:00
Kim Kulling 0513eff44f
Merge branch 'master' into kimkulling/waveform_obj_optimizations 2022-07-30 13:15:42 +02:00
Kim Kulling f6bcb160d0 Improvements of obj-parsers. 2022-07-30 12:58:09 +02:00
Kim Kulling 340d800739
Merge branch 'master' into master 2022-07-29 20:42:56 +02:00
Kim Kulling 4f6640278a
Merge branch 'master' into fix/collada_parser_sid 2022-07-29 19:17:43 +02:00
Kim Kulling b0210cb3cf
Merge branch 'master' into patch-1 2022-07-29 17:48:14 +02:00
Engin Manap 7c75a4c59b
Merge branch 'master' into master 2022-07-24 12:31:36 -07:00
Kim Kulling 73542f3830
Merge branch 'master' into patch-2 2022-07-24 12:11:18 +02:00
Kim Kulling f07bc2c5b9
Merge branch 'master' into patch-3 2022-07-18 15:19:27 +02:00
Kim Kulling 05ececc387
Merge branch 'master' into patch-4 2022-07-18 14:06:29 +02:00
sashashura 9ddc3a64d7
Fixes Crash in Assimp::ObjFileMtlImporter::getFloatValue 2022-07-16 13:55:08 +01:00
sashashura 772cfdc757
Fixes Heap-buffer-overflow in Assimp::ObjFileParser::getFace 2022-07-16 13:50:54 +01:00
sashashura 94c0e9d890
Fixes Heap-buffer-overflow in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<ch 2022-07-16 13:48:39 +01:00
sashashura a4274930e4
Fixes Heap-use-after-free in Assimp::DXFImporter::ExpandBlockReferences 2022-07-16 13:46:50 +01:00
sashashura 0c07ea7c71
Fixes Heap-buffer-overflow in SuperFastHash 2022-07-16 13:44:46 +01:00
Engin Manap 684909a691 Fix comments on PR
1) Use default instead of empty destructor
2) Remove debug code
2022-07-09 17:23:40 +02:00
Engin Manap 3e424f8119
Merge branch 'assimp:master' into master 2022-07-09 17:17:01 +02:00
Kim Kulling 6ad8ea395a
Merge branch 'master' into fix_stl_for_over_4GB 2022-07-09 09:58:10 +02:00
Engin Manap e63426b89c Fix collada parser fails on Mixamo exports 2022-07-08 23:42:41 +02:00
Engin Manap 3890b5dff5 Add missing = operator
implicit assignment operator is depricated, these classes were missing
explicit definitions of this operator.
It is causing warnings, specifically  -Werror=deprecated-copy
2022-07-08 18:16:02 +02:00
Engin Manap c3a89fd2d0 Fix non virtual destructor use 2022-07-08 18:16:02 +02:00
Engin Manap ae276987a0 Remove unnecessary const qualifiers
These changes are part of enable -Wall, this specific changes are for
-Werror=ignored-qualifiers
2022-07-08 18:16:02 +02:00
Engin Manap a10abe0283 Add fallthrough comment to switch case
This allows gcc to identify intentional fallthroughs, which are part all
-Wall. Specifically -Werror=implicit-fallthrough
2022-07-08 18:16:02 +02:00
tanolino c23146bb20
Use size_t for the file size in cpp file
This pointer juggling in combination with STL files >4GB caused some nasty illegal memory access bugs here. So let's fix it.
2022-07-08 10:26:03 +02:00
Kim Kulling c5dfcac08a
Update D3MFOpcPackage.cpp 2022-07-08 10:25:40 +02:00
tanolino 24d110199a
Use size_t for file size instead of unsigned int
This is one step to help us open files with more then 4 GB size.
2022-07-08 10:19:50 +02:00
Kim Kulling e254f80a3a
Fix memory leak in D3MFOpcPackage
- closes https://github.com/assimp/assimp/issues/4628
2022-07-08 10:17:11 +02:00
Kim Kulling e59b8fb448
Fix typo 2022-07-08 09:50:04 +02:00
Kim Kulling 70b2db19a8
Remove assertion test
- Code cleanup
- closes https://github.com/assimp/assimp/issues/4626
2022-07-08 09:47:33 +02:00
Kim Kulling e9b08f35b2
Merge branch 'master' into master 2022-07-07 13:21:08 +02:00
Kim Kulling 77a2cdee76 Fix texture fetch for embedded textures in 3mf-files. 2022-07-06 20:59:42 +02:00
Kim Kulling eeae6eac26
Update Q3DLoader.cpp 2022-07-05 23:01:18 +02:00
Kim Kulling 2d994e1a28
Fix possible bad_alloc exception for invalid file
- Fuzzer finding
- closes https://github.com/assimp/assimp/issues/3417
2022-07-05 22:50:54 +02:00
Kim Kulling 90b75cd6e7
Merge branch 'master' into fix/collada_empty_animation_name 2022-07-05 20:39:19 +02: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 6d26e91fc1
Merge branch 'master' into fix/collada_empty_animation_name 2022-07-05 09:28:39 +02:00
Kim Kulling 636d8bffe5
Merge branch 'master' into kimkulling/fix_memleak_in_xmlparser 2022-07-02 21:32:24 +02:00
Kim Kulling 9063216893 Fix a memory leak 2022-07-02 21:21:31 +02:00
Luca Della Vedova 0924c4710b
Fix nested animation name being lost in Collada
Signed-off-by: Luca Della Vedova <luca@openrobotics.org>
2022-06-29 11:09:54 +08:00
kimmi d3c8201614 Fix token match string checks. 2022-06-28 20:31:03 +02:00
Onur Berk Töre b392ff5ad1
Merge branch 'master' into otore19/sandbox 2022-06-21 21:34:50 +03:00
Onur Berk Tore 4f06c41802
Fix: Collada header updated 2022-06-21 21:08:11 +03:00
Kim Kulling fff74a4ac0
Merge branch 'master' into patch-2 2022-06-21 13:39:23 +02:00
Onur Berk Tore c2060a1f7e
Deletion: Removed unnessary header 2022-06-20 23:48:00 +03:00
Onur Berk Tore 1b53f41787
Feature: Utilizes removeEmptyBones flag for Collada 2022-06-20 23:46:29 +03:00
kovacsv 2486a681c1 Remove unused variable. 2022-06-20 21:07:34 +02:00
PercentBoat4164 487a9aca2f Add support for GCC v12 2022-06-16 19:23:55 -04:00
Luca Della Vedova 079b7deb33 Merge branch 'master' of https://github.com/assimp/assimp into fix/collada_parser_sid 2022-06-13 10:20:46 +08:00
Kim Kulling 5adea2dbcf
Merge branch 'master' into kimkulling/create_skeleton_data_issue_4015 2022-06-11 21:40:44 +02:00
Kim Kulling aaa19903c6 Fix merge conflicts 2022-06-11 18:50:18 +02:00
Kim Kulling 02b0c89fa4
Fix usage of validation 2022-06-08 00:10:13 +02:00