Commit Graph

1198 Commits (d8e2fc30a0123259289078e3fc0803efa8c62842)

Author SHA1 Message Date
shimaowo 39cbef1e21 Fix: fix incorrect math for calculating the horizontal FOV of a perspective camera in GLTF2 import #4435 2023-01-16 11:39:13 -08:00
Krishty 3d3e856925 Trim Trailing Whitespace 2023-01-16 09:12:35 +01:00
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