Alexandre Avenel
606fd6b1a1
Replace assertion by an exception in Obj parsing
...
This crash could happen when the user try to parse an ill-formed obj file.
2017-12-29 18:07:41 +01:00
Alexandre Avenel
20ef807982
Remove assertion in ObjFileImporter
...
This assertion is already handled by an exception, and could lead to a
crash when parsing an ill-formed OBJ file.
2017-12-29 17:56:30 +01:00
Turo Lamminen
096056b899
Q3BSP: Fix build with clang libc++
2017-12-24 22:17:59 +02:00
Turo Lamminen
dc94e5921e
MDLImporter: Use unique_ptr
...
Fixes a double free
2017-12-24 22:17:11 +02:00
Turo Lamminen
55e69272bd
MMD: Remove bogus assert
...
It can be triggered by input file, it's undocumented and it looks like nothing breaks
2017-12-24 22:15:19 +02:00
Turo Lamminen
90cdd0f20c
RemoveComments: Fix out-of-bounds read when file ends with a comment
2017-12-24 22:14:39 +02:00
Turo Lamminen
4078543827
OpenGEX: Throw exception on malformed color4 instead of crashing
2017-12-24 14:57:14 +02:00
Turo Lamminen
7932a85ca1
Raw: Fix unitialized values in scene
2017-12-24 14:38:26 +02:00
Turo Lamminen
1ad789bae9
Raw: Reformat code, no functional change
2017-12-24 14:26:53 +02:00
Faule Socke
4a65e76ca7
Fix buffer overflow in obj loader
...
The overflow-checking code in ObjFileImporter::createVertexArray is at
the wrong position, allowing buffer overflows in preceding code.
This fix moves the code to the right spot.
An actual overflow can be caused by usign some more bugs and weird
behaviours and injecting a malformed line statement into the object
file, containing only one index. Such a malformed file could for
example look like:
o 1
v 0 0 0
v 1 1 1
v 2 2 2
l 1
f 1 2 3
Because the code in ObjFileImporter::createTopology incorrectly handles
line-type faces containing only one index (in line 364), it
underestimates the number of required indices and therefore causes the
buffer allocated in line 421 to be too small.
I believe, the correct fix for this would be in the parser and
rejecting such faces early. However the overflow check was misplaced
anyway.
If you can't reproduce a crash, just insert some more "l 1" lines
before the "f 1 2 3" line until it crashes. The behaviour of heap buffer
overflows strongly depends on memory layout and allocation history.
2017-12-23 17:57:48 +01:00
Kim Kulling
5a30bccdae
closes https://github.com/assimp/assimp/issues/1612 : make wstaring handling depend from encoding of the filename.
2017-12-22 16:45:07 +01:00
Kim Kulling
2294390917
Merge branch 'master' into iosystem-patch
2017-12-20 09:57:54 +01:00
Giuseppe Barbieri
06179cee04
Update FBXDocument.cpp
2017-12-19 22:53:59 +01:00
Turo Lamminen
bb5495f99a
Q3BSP: Add assertion to silence a static analyzer warning
2017-12-19 19:39:04 +02:00
Turo Lamminen
c44522d4db
ObjImporter: Fix possible memory leak
2017-12-19 19:38:38 +02:00
Turo Lamminen
47b725a8c8
MDCLoader: Fix horrible pointer casting hack
2017-12-19 18:55:14 +02:00
Turo Lamminen
0cf772a4d4
MDCLoader: Replace min and strlen with strnlen
2017-12-19 18:46:48 +02:00
Turo Lamminen
65ffeaa81e
ObjImporter: Use unique_ptr
2017-12-19 18:24:03 +02:00
Turo Lamminen
1e9f329e6d
MMD: Add virtual destructor to a class which already has virtual functions
2017-12-19 18:18:14 +02:00
Turo Lamminen
b6800a9992
X3DImporter: Add virtual destructors to some classes which already have virtual functions
2017-12-19 18:16:41 +02:00
rickomax
4623c2f14c
FBX Embedding Fix
...
FBX files may use a texture reference from an embedded texture that hasn't been loaded yet. This patch fixes this issue, storing all texture filenames, that can be acessed later via "scene::GetEmbeddedTexture", when all textures are already loaded.
Some warnings have been added to other file formats that uses embedded data.
2017-12-18 18:14:54 -02:00
Kim Kulling
04dc52fcf0
Merge branch 'master' into iosystem-patch
2017-12-18 08:59:14 +01:00
Kim Kulling
39e36371f9
Merge branch 'master' into nonascii_chars_in_fbxmaterial_cpp
2017-12-17 20:41:52 +01:00
Tommy
47c422ea49
Fix non-ascii encoding in comments in FBXMaterial.cpp.
...
It looks like it was just saved with a wrong encoding,
as these 0xB4 characters were in place of "'".
Also converted tabs to spaces to match indent in the rest of the file.
2017-12-17 16:40:12 +01:00
Kim Kulling
d081b4ab4e
Merge branch 'master' into fix_clang5_issue
2017-12-17 16:11:44 +01:00
Kim Kulling
efc893a139
Merge branch 'master' into gltf2-exporter-improvements
2017-12-17 09:39:14 +01:00
Kim Kulling
3d743151ce
Merge branch 'master' into fix_1623
2017-12-17 09:04:08 +01:00
Kim Kulling
0bcf5c22db
Merge branch 'master' into unique_ptr
2017-12-17 02:16:48 +01:00
Kim Kulling
74319a6a50
Merge branch 'master' into fix_gltf_exporter_define_name
2017-12-17 00:30:56 +01:00
Kim Kulling
05f8af950a
Merge branch 'master' into master
2017-12-16 19:56:41 +01:00
Turo Lamminen
463dec5c7e
Change StreamReader::IncPtr argument to signed
...
Negative values are passed to it so it needs to be signed
2017-12-16 15:48:01 +02:00
Turo Lamminen
2f082340fc
MDLLoader: Add workaround for clang 5.0 build issue
2017-12-16 15:48:01 +02:00
Tommy
379562055b
Fix incorrect NO_GLTF_IMPORTER define name in glTFExporter.h
2017-12-15 23:18:45 +01:00
Alexis Breust
32e5e3a576
Forgot to uncomment isBinary
2017-12-15 15:40:31 +01:00
Kim Kulling
5e63ba9a9d
typo.
2017-12-14 18:10:42 +01:00
Kim Kulling
dec3e2ba42
XGLLoader: fix const issue when seeting vec2.
2017-12-14 18:06:28 +01:00
Alexis Breust
d29173aaa9
Following specification for padding
2017-12-14 17:32:18 +01:00
Kim Kulling
eb0608f2e9
diable unaigned pointer access temprary, second one.
2017-12-14 17:00:16 +01:00
Kim Kulling
722420c5dc
diable unaigned pointer access temprary.
2017-12-14 16:51:47 +01:00
Kim Kulling
422776b479
Merge branch 'master' into master
2017-12-14 16:38:22 +01:00
Alexis Breust
d09df8cc07
Fixed leftover log
2017-12-14 16:18:17 +01:00
Alexis Breust
31a4ccaebb
Added support for generating glb2 (binary glTF 2)
2017-12-14 16:11:12 +01:00
Alexandre Avenel
50bcaf39fd
Fix issue #1623 : crash when loading multiple PLY files
...
Pointer mGeneratedMesh was not reset to nullptr when transfering ownership
to pScene->mMeshes
2017-12-12 20:48:51 +01:00
Turo Lamminen
89afe0780b
B3DImporter: Fix double free when reusing Importer
2017-12-12 20:03:16 +02:00
Turo Lamminen
824dfc314b
B3DImporter: Store node animations in unique_ptr
2017-12-12 19:46:11 +02:00
Turo Lamminen
08a35d4e1f
B3DImporter: Store materials in unique_ptr
2017-12-12 19:46:11 +02:00
Turo Lamminen
f1707e920d
B3DImporter: Store meshes in unique_ptr
2017-12-12 19:46:11 +02:00
Turo Lamminen
acab4c327e
B3DImporter: Store animations in unique_ptr
2017-12-12 19:46:07 +02:00
Turo Lamminen
30ae14fae9
B3DImporter: Add unique_to_array helper function
2017-12-12 18:40:28 +02:00
Teybeo
99031997bd
Fix 3MF define typo
2017-12-11 16:27:27 +01:00