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
Turo Lamminen
c44522d4db
ObjImporter: Fix possible memory leak
2017-12-19 19:38:38 +02:00
Turo Lamminen
65ffeaa81e
ObjImporter: Use unique_ptr
2017-12-19 18:24:03 +02:00
Kim Kulling
a2b8d66a86
Update license info.
2017-05-09 19:57:36 +02:00
Tyson Grant Nottingham
8445db2cd9
Set UVW index material properties for OBJ files.
2017-04-21 01:09:26 -07:00
Kim Kulling
bb7f387bcf
Merge branch 'master' of https://github.com/assimp/assimp
2017-03-11 22:13:48 +01:00
Antoine Bolvy
5dd1bb9d6c
Export DefaultIOSystem and move it with DefaultIOStream to include/ instead of code/
2017-02-28 11:44:04 +09:00
Kim Kulling
ef540f46a3
Remove unused headers.
2017-02-22 17:20:26 +01:00
Henryk Blasinski
17cae8ac5a
Added support for parameters Ni and Tf in OBJ/MTL file format.
2017-01-12 17:11:17 -08:00
Giuseppe Barbieri
b1d5390413
Update ObjFileImporter.cpp
2016-12-09 19:31:07 +01:00
Jared Mulconry
98e7eb476d
Merge branch 'master' of https://github.com/assimp/assimp into implementation_warning_fix
...
# Conflicts:
# code/ObjFileImporter.cpp
2016-11-27 13:00:33 +11:00
John Senneker
1541db01cc
Remove scaling of specular exponent in OBJFileImporter.cpp
2016-11-25 10:56:11 -05:00
Albin Bernhardsson
3b49dfe93e
Comment out unused variables
2016-11-24 14:10:24 +01:00
Jared Mulconry
0c13322089
Fixed build warnings on MSVC14 x64 in the Obj format sources.
2016-11-20 12:29:26 +11:00
Kim Kulling
ae956044aa
ObjImporter: remove unnecessary allocations of std::vector in obj-specific
...
face.
2016-11-09 20:09:45 +01:00
Kim Kulling
33e370a8b7
Obj-Stream-Handling: fix readin of linewise import.
2016-10-21 21:14:35 +02:00
Kim Kulling
905e48a35c
Buffered stream API for big files: add next try of a prototype.^
2016-10-11 12:29:40 +02:00
Kim Kulling
ad4d1f717f
Obj-Import: finish first prototype of IOStreamBuffer.
2016-10-10 10:18:14 +02:00
Kim Kulling
0bae2bbfa7
Obj-Importer: start new streaming handling.
2016-10-07 09:19:10 +02:00
Kim Kulling
0f2cea7ba6
Blender: revert fix for suspicious crash in blender on windows.
2016-09-06 10:42:02 +02:00
Kim Kulling
243df452a4
GeometryBuilder: fix update of vertices.
2016-08-25 18:20:52 +02:00
Roy Shilkrot
7d98643bcf
adding support for per-vertex colors.
2016-06-27 20:08:22 -04:00
mensinda
5dacda0a08
replaced boost smart pointers with c++11 smart pointers
2016-04-05 23:23:53 +02:00
Robert Liebo
abb3e6b854
[VCS-1030] fallback for non-found .mtl file: try file name of original obj with just the file extension replaced by "mtl"
2016-03-22 18:38:28 +01:00
Thiago Goulart
3c9e57fd73
Fix memory leak in OBJ loader when a mesh has no faces.
2016-03-04 03:40:47 -08:00
Kim Kulling
1550191256
Closes https://github.com/assimp/assimp/issues/777 : fix invalid skipping
...
of line during face defintion parsing.
2016-02-08 18:07:00 +01:00
Kim Kulling
37a3976b30
Revert "Fix issue: OBJ import takes forever ( #759 ) (attempt 2)"
2016-02-07 20:03:24 +01:00
Andrew Parlane
109f6feb6e
ObjFileParser: Moved the parsing of line continuations (backslashes) to the parsing code.
...
Rather than removing all backslashes followed by newlines from the buffer,
and then parsing it. Handle removing the backslashes as we go. This means
we don't need to erase the backslashes from the buffer (which is O(n))
instead we just skip those characters as we parse the buffer line by line.
This time I've fixed the order of evaluation bug in the call to getFace().
2016-01-25 20:44:31 -04:00
Andrew Parlane
1632f1fbb9
ObjImporter: Added better progress reporting during file import.
...
There are two stages to this:
1) Processing '\'s - this accounts for 1/3rd of the file import progress.
2) Parsing the file data - this accounts for the other 2/3rds.
2016-01-11 12:21:24 -04:00
Kim Kulling
1191d03405
Update license info.
2016-01-01 21:07:24 +01:00
Łukasz Twarduś
3274bcf8d6
Properly build path to the mtl file when loading loading obj
2015-10-25 20:04:50 +01:00
Francesco Guastella
2750f8da24
Added support for reflection maps for OBJ files
2015-10-15 15:46:35 +02:00
Kim Kulling
e4510c26ba
Obj-Importer: fix https://github.com/assimp/assimp/issues/641
2015-08-30 15:21:53 +02:00
Turo Lamminen
0b0ba2ec4d
Refactor logic which checks for too large allocations
...
It's now easier to change the limit
2015-08-14 11:53:16 +03:00
Turo Lamminen
5575a54466
Add various checks to avoid either too large or zero-sized memory allocations
2015-08-14 11:53:16 +03:00
Kim Kulling
5a207dbb19
Merge branch 'master' of https://github.com/assimp/assimp
2015-07-10 01:21:57 +02:00
Kim Kulling
14a849b398
Obj-loader: change include brackets.
2015-07-10 01:21:10 +02:00
Kim Kulling
e138a02dd5
Obj: fix issue 121 - set group names as the mesh names.
2015-07-09 20:15:44 +02:00
Richard
83de707587
Refactor: Expand tabs to 4 spaces
2015-06-28 16:04:15 -06:00
Richard
a96a595a7a
Refactor: Trim trailing whitespace
2015-06-28 16:01:32 -06:00
Richard
4c1a0507fe
Refactor: Line endings are LF, not CRLF
2015-06-28 15:59:33 -06:00
Kim Kulling
2bfc353fde
License info: update year info.
2015-06-28 21:48:25 +02:00
Kim Kulling
85e2f47dc8
Merge pull request #523 from turol/afl-fixes
...
More crash fixes
2015-06-22 16:56:51 +02:00
Kim Kulling
995bc41d57
color node handling opengex
...
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-04-29 11:57:39 +02:00
abma
8c45a4dc3b
Merge remote-tracking branch 'origin'
...
Conflicts:
code/C4DImporter.cpp
code/OgreImporter.h
2015-04-16 01:03:00 +02:00
abma
bf4913b5c9
remove AssimpPCH.h: fixes #534
2015-04-16 01:00:17 +02:00
Kim Kulling
c0e3540ec1
use size_t instead of unsigned int ( static code analysis finding ).
...
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-04-05 21:19:07 +02:00
Turo Lamminen
3e728e80eb
Obj: Change asserts to exceptions
...
These can be triggered by malformed input file so they can't be assertions.
2015-04-01 16:13:46 +03:00
Kim Kulling
c3e2fa0761
- untabify obj parser.
...
- bugfix openddl: latest version
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2015-02-10 19:31:23 +01:00
Kim Kulling
b359deb7fd
update:
...
- add assert test in obj-import
- fix material token in Obj.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-21 20:37:36 +02:00