Checks if multiplying texture width and height would overflow before
performing the operation. This avoids incorrect memory allocations and
potential crashes with very large textures.
Fixes#6358
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* Update LICENSE
* Update Preamble.txt
* Update SECURITY.md
* Remove GitHub's default comment
* Better README!
* Fix discord link! Boom, that's how it's done
* Fixed itch.io spelling from itchi.io
* Make README more tidy :)
AR is back! Anyways, I'm working on my horror game & making devlogs so I don't have time to write. Here's a small summary:
- Just placed the dir structure information correctly in one place so the README looks tidy.
* Add international download link for Visual Studio
* Removed unnecessary copy constructor declaration in aiVector3t
* Added copy constructor back in aiVector3t
* Added explicit declaration of assignment operator in aiVector3t
* Add unit test for subdivision modifier on Blender importer
Blend file is composed of default cube with subdivision modifier applied
and same cube with subdivision modifier.
* Update utBlenderImportExport.cpp
Fix compiler warning.
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* Add BOM skip and fix mtl parsing
* Remove old code
* Fix#5635
* Add all attributes to ObjFileData
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* test/unit/utProfiler.cpp: fix `gcc-16` build failure
Upcoming `gcc-16` improved detection of unused variables as:
test/unit/utProfiler.cpp: In member function 'virtual void utProfiler_addRegion_success_Test::TestBody()':
test/unit/utProfiler.cpp:71:22: error: variable 'j' set but not used [-Werror=unused-but-set-variable=]
71 | volatile int j=0;
| ^
The change is intentional accoring to Andrew Pinsi and is not a faalse positive.
* Update utProfiler.cpp: Remove dead code
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
The process incorrectly deleted original meshes from the scene when cleaning up after an error if those meshes had been added to its output list (outMeshes). The fix ensures proper ownership transfer by nullifying the original mesh pointer in the scene (pScene->mMeshes[i] = nullptr;) when the mesh is moved to outMeshes. This prevents the scene destructor from attempting to delete the mesh again later, while allowing the error cleanup path in SortByPTypeProcess to correctly delete all meshes it owns (both newly created and transferred originals).
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
The loader attempted to read the MDL header without verifying if the input buffer was large enough.
Added a check in MDLImporter::InternReadFile_HL1 to ensure the buffer size is sufficient before proceeding with loading.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* Fixed a container-overflow error in `ODDLParser::OpenDDLParser::parseIntegerLiteral` by swapping the order of conditions in a while loop to ensure the end-of-buffer check happens before dereferencing the pointer. This prevents reading past the end of the buffer when lookForNextToken returns the end pointer.
https://oss-fuzz.com/testcase-detail/4980126616780800https://issues.oss-fuzz.com/issues/42527625
* Update OpenDDLParser.cpp
* Refix export fbx PolygonVertexIndex
* Fix the function ColladaParser::ReadEffectColor when the flag ASSIMP_DOUBLE_PRESICION is enabled
* Fix the static function ReadLight in ColladaParser when the flag ASSIMP_DOUBLE_PRESICION is enabled
* Refactor of the call of the function fast_atoreal_move to the member of aiColor3D
* Fix the call of the function fast_atoreal_move when the flag ASSIMP_DOUBLE_PRESICION is enabled and and refactor
* Fix the call of the function fast_atoreal_move when the flag ASSIMP_DOUBLE_PRESICION is enabled
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>