Commit Graph

5691 Commits (b9a34dbc50f0f5ff087e25bded6809d9c966a915)

Author SHA1 Message Date
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 7de7c548fb Add unit test to OBj importer for homogeneous coord
This test triggers an assertion when we divide by zero in homogeneous
coordinates.
2017-12-29 18:06:20 +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
Kim Kulling 58c38022ab
Merge branch 'master' into issue_1655 2017-12-29 17:09:38 +01:00
Kim Kulling dc5726bd0f
Merge pull request #1664 from JLouis-B/QtViewer-fixes
Qt viewer : fixes for failed imports
2017-12-28 21:33:57 +01:00
Jean-Louis Boudrand 04d5f49f6d Use QString::number
easier to read + typos
2017-12-28 15:10:55 +01:00
Kim Kulling 6a9df80f68 closes https://github.com/assimp/assimp/issues/1655: add typedef for android NDK. 2017-12-28 14:52:41 +01:00
Jean-Louis Boudrand e030d374b9 Qt Viewer : Fixes for failed imports
Fix the UI when an import fail
2017-12-28 13:55:41 +01:00
Kim Kulling f8eeaf176a
Merge pull request #1661 from JLouis-B/master
Qt viewer : Improve exports
2017-12-28 09:35:55 +01:00
Jean-Louis Boudrand e5891e5a09 Qt viewer : Improve exports
- Add a dialog to select the exporter
- Export based on exporter id instead of extensions (fix issues like for Collada)
- Message box if there is an error
2017-12-27 19:08:20 +01:00
turol bc541e56af
Merge pull request #1656 from turol/misc
Miscellaneous memory management fixes
2017-12-25 10:16:56 +02: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 0cc25491a4 irrXML: Remove horrible hack 2017-12-24 15:38:42 +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
Kim Kulling 885c32e8cc
Merge pull request #1654 from faulesocke/master
Fix buffer overflow in obj loader
2017-12-23 19:05:54 +01: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 dd3cb74b21
Merge pull request #1652 from assimp/loebl-iosystem-patch
Loebl iosystem patch
2017-12-22 19:31:51 +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
Kim Kulling 95661e8662
Merge pull request #1648 from elect86/patch-17
Update FBXDocument.cpp, typo
2017-12-20 09:56:29 +01:00
Giuseppe Barbieri 06179cee04
Update FBXDocument.cpp 2017-12-19 22:53:59 +01:00
turol 72edaf7f20
Merge pull request #1647 from turol/analyze
Fix some static analyser warnings
2017-12-19 21:08:32 +02: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
Kim Kulling 889f49aaf0
Merge pull request #1646 from rickomax/master
FBX Embedding Fix
2017-12-19 14:47:22 +01:00
rickomax 9c9e7a2e82 Fixed char comparision
Fixed char comparision
2017-12-18 19:18:11 -02:00
rickomax 987d315089 Fixed config file
Fixed config file
2017-12-18 18:53:25 -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 5ddc281c4b
Merge pull request #1644 from mesilliac/nonascii_chars_in_fbxmaterial_cpp
Fix non-ascii encoding in comments in FBXMaterial.cpp.
2017-12-18 08:58:49 +01:00
Kim Kulling 39e36371f9
Merge branch 'master' into nonascii_chars_in_fbxmaterial_cpp 2017-12-17 20:41:52 +01:00
Kim Kulling 8761ab0efd
Merge pull request #1641 from assimp/fix_clang5_issue
Disable unaligned pointer access temporary.
2017-12-17 20:40:03 +01:00
Giuseppe Barbieri 76dd48d64f
Update FBXDocumentUtil.h 2017-12-17 18:43:23 +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 13dba835a0
Merge pull request #1640 from wanadev/gltf2-exporter-improvements
Added support for generating glb2 (binary glTF 2)
2017-12-17 16:09:24 +01:00
Kim Kulling efc893a139
Merge branch 'master' into gltf2-exporter-improvements 2017-12-17 09:39:14 +01:00
Kim Kulling 99f2721611
Merge pull request #1636 from aavenel/fix_1623
Fix #1623 : crash when loading multiple PLY files
2017-12-17 09:38:55 +01:00
Kim Kulling 3d743151ce
Merge branch 'master' into fix_1623 2017-12-17 09:04:08 +01:00
Kim Kulling cb17a7d81e
Merge pull request #1635 from turol/unique_ptr
Use unique_ptr in B3DImporter
2017-12-17 09:03:03 +01:00