assimp/test/models/invalid
Alexandre Avenel bfe8745b90 Add as unit-test an invalid PLY model triggering heap-buffer-overflow
==23896==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x12f9daec1827 at pc 0x7ffcad83699c bp 0x00c61574c910 sp 0x00c61574c910
READ of size 1 at 0x12f9daec1827 thread T0
==23896==WARNING: Failed to use and restart external symbolizer!
    #0 0x7ffcad83699b in Assimp::IOStreamBuffer<char>::getNextLine C:\Users\aavenel\Dev\assimp\include\assimp\IOStreamBuffer.h:299
    #1 0x7ffcad83ce69 in Assimp::PLY::DOM::ParseHeader C:\Users\aavenel\Dev\assimp\code\AssetLib\Ply\PlyParser.cpp:428
    #2 0x7ffcad83d58e in Assimp::PLY::DOM::ParseInstanceBinary C:\Users\aavenel\Dev\assimp\code\AssetLib\Ply\PlyParser.cpp:498
    #3 0x7ffcad83302a in Assimp::PLYImporter::InternReadFile C:\Users\aavenel\Dev\assimp\code\AssetLib\Ply\PlyLoader.cpp:189
    #4 0x7ffcad4f2f48 in Assimp::BaseImporter::ReadFile C:\Users\aavenel\Dev\assimp\code\Common\BaseImporter.cpp:135
    #5 0x7ffcad51ee46 in Assimp::Importer::ReadFile C:\Users\aavenel\Dev\assimp\code\Common\Importer.cpp:709
    #6 0x7ff7dd8f9f1a in ImportModel C:\Users\aavenel\Dev\assimp\tools\assimp_cmd\Main.cpp:307
    #7 0x7ff7dd8fdf9e in Assimp_Info C:\Users\aavenel\Dev\assimp\tools\assimp_cmd\Info.cpp:344
    #8 0x7ff7dd8fc04f in main C:\Users\aavenel\Dev\assimp\tools\assimp_cmd\Main.cpp:222
    #9 0x7ff7dd9030eb in __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    #10 0x7ffd39e57343 in BaseThreadInitThunk+0x13 (C:\WINDOWS\System32\KERNEL32.DLL+0x180017343)
    #11 0x7ffd3a2626b0 in RtlUserThreadStart+0x20 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x1800526b0)
2023-11-20 08:43:17 +01:00
..
OutOfMemory.off header paths adjusted for unit tests and samples 2018-01-05 23:12:40 -08:00
crash-30d6d0f7c529b3b66b4131700b7a4580cd7082df.ply Add as unit-test an invalid PLY model triggering heap-buffer-overflow 2023-11-20 08:43:17 +01:00
empty.3ds Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.ase Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.lwo Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.md5mesh General 2009-03-05 22:32:13 +00:00
empty.obj Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.off Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.ply Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.raw Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.smd Added several empty test files to verify that the loaders won't crash in this case. 2009-01-07 15:06:41 +00:00
empty.x Cleaned up Assimp-test repository of sample 3d models. 2008-12-30 12:32:45 +00:00
emptyIrrMesh.xml header paths adjusted for unit tests and samples 2018-01-05 23:12:40 -08:00
malformed.obj header paths adjusted for unit tests and samples 2018-01-05 23:12:40 -08:00
malformed2.obj header paths adjusted for unit tests and samples 2018-01-05 23:12:40 -08:00
readme.txt removed trailing spaces and tabs from source and text 2021-07-29 13:28:51 +02:00

readme.txt

*********************************************************
GENERAL
*********************************************************


The files in this directory are invalid ... some of them are empty,
others have invalid vertices or faces, others are prepared to make
 assimp allocate a few hundreds gigs of memory ... most are
actually regression tests, i.e. there was once a bugfix that
fixed the respective loaders.

This test case is successful if the library (and the viewer) don't
crash.


*********************************************************
FILES
*********************************************************

OutOfMemory.off - the number of faces is invalid. There won't be
  enough memory so std::vector::reserve() will most likely fail.
  The exception should be caught in Importer.cpp.

empty.<x> - These files are completely empty. The corresponding
   loaders should not crash.

malformed.obj - out-of-range vertex indices
malformed2.obj - non-existent material referenced