From ddd9c27a820c5678b916373bf7f28e5d62cbeed3de2a670f23b2cff0023bf74d Mon Sep 17 00:00:00 2001 From: Christophe Marin Date: Thu, 11 Apr 2024 11:56:30 +0000 Subject: [PATCH] 5.4.0 OBS-URL: https://build.opensuse.org/package/show/games/assimp?expand=0&rev=54 --- ...lladaParser-check-values-length-5462.patch | 295 ------------------ _service | 2 +- assimp-5.3.1.tar.xz | 3 - assimp-5.4.0.tar.xz | 3 + assimp.changes | 100 ++++++ assimp.spec | 7 +- 6 files changed, 106 insertions(+), 304 deletions(-) delete mode 100644 0001-ColladaParser-check-values-length-5462.patch delete mode 100644 assimp-5.3.1.tar.xz create mode 100644 assimp-5.4.0.tar.xz diff --git a/0001-ColladaParser-check-values-length-5462.patch b/0001-ColladaParser-check-values-length-5462.patch deleted file mode 100644 index 3ab4ae8..0000000 --- a/0001-ColladaParser-check-values-length-5462.patch +++ /dev/null @@ -1,295 +0,0 @@ -From 4b9f46dbda5128d6d538d185eb69ad6a7b4b99ff Mon Sep 17 00:00:00 2001 -From: Adam Mizerski -Date: Thu, 15 Feb 2024 13:07:00 +0100 -Subject: [PATCH] ColladaParser: check values length (#5462) - -* ColladaParser: check values length - -fixes: #4286 - -* Refactor calculation of size for data - ---------- - -Co-authored-by: Kim Kulling ---- - code/AssetLib/Collada/ColladaParser.cpp | 10 +- - .../invalid/box_nested_animation_4286.dae | 196 ++++++++++++++++++ - test/models/invalid/readme.txt | 3 + - test/unit/utColladaImportExport.cpp | 8 + - 4 files changed, 216 insertions(+), 1 deletion(-) - create mode 100644 test/models/invalid/box_nested_animation_4286.dae - -diff --git a/code/AssetLib/Collada/ColladaParser.cpp b/code/AssetLib/Collada/ColladaParser.cpp -index ee7a395d9..c5163fe39 100644 ---- a/code/AssetLib/Collada/ColladaParser.cpp -+++ b/code/AssetLib/Collada/ColladaParser.cpp -@@ -3,7 +3,7 @@ - Open Asset Import Library (assimp) - --------------------------------------------------------------------------- - --Copyright (c) 2006-2022, assimp team -+Copyright (c) 2006-2024, assimp team - - All rights reserved. - -@@ -1786,6 +1786,10 @@ size_t ColladaParser::ReadPrimitives(XmlNode &node, Mesh &pMesh, std::vectormData) { - acc->mData = &ResolveLibraryReference(mDataLibrary, acc->mSource); -+ const size_t dataSize = acc->mOffset + acc->mCount * acc->mStride; -+ if (dataSize > acc->mData->mValues.size()) { -+ throw DeadlyImportError("Not enough data for accessor"); -+ } - } - } - // and the same for the per-index channels -@@ -1810,6 +1814,10 @@ size_t ColladaParser::ReadPrimitives(XmlNode &node, Mesh &pMesh, std::vectormData) { - acc->mData = &ResolveLibraryReference(mDataLibrary, acc->mSource); -+ const size_t dataSize = acc->mOffset + acc->mCount * acc->mStride; -+ if (dataSize > acc->mData->mValues.size()) { -+ throw DeadlyImportError("Not enough data for accessor"); -+ } - } - } - -diff --git a/test/models/invalid/box_nested_animation_4286.dae b/test/models/invalid/box_nested_animation_4286.dae -new file mode 100644 -index 000000000..2def61d20 ---- /dev/null -+++ b/test/models/invalid/box_nested_animation_4286.dae -@@ -0,0 +1,196 @@ -+ -+ -+ -+ -+ Blender User -+ Blender 2.80.40 commit date:2019-01-07, commit time:23:37, hash:91a155833e59 -+ -+ 2019-01-08T17:44:11 -+ 2019-01-08T17:44:11 -+ -+ Z_UP -+ -+ -+ -+ -+ -+ -+ -+ 0.8 0.8 0.8 1 -+ -+ -+ 0 0.5 0 1 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ 1 1 1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ 0 0 1 0 -1 0 -1 0 0 0 0 -1 1 0 0 0 1 0 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ 0.625 0 0.375 0.25 0.375 0 0.625 0.25 0.375 0.5 0.375 0.25 0.625 0.5 0.375 0.75 0.375 0.5 0.625 0.75 0.375 1 0.375 0.75 0.375 0.5 0.125 0.75 0.125 0.5 0.875 0.5 0.625 0.75 0.625 0.5 0.625 0 0.625 0.25 0.375 0.25 0.625 0.25 0.625 0.5 0.375 0.5 0.625 0.5 0.625 0.75 0.375 0.75 0.625 0.75 0.625 1 0.375 1 0.375 0.5 0.375 0.75 0.125 0.75 0.875 0.5 0.875 0.75 0.625 0.75 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ 3 3 3 3 3 3 3 3 3 3 3 3 -+

4 0 0 2 0 1 0 0 2 2 1 3 7 1 4 3 1 5 6 2 6 5 2 7 7 2 8 1 3 9 7 3 10 5 3 11 0 4 12 3 4 13 1 4 14 4 5 15 1 5 16 5 5 17 4 0 18 6 0 19 2 0 20 2 1 21 6 1 22 7 1 23 6 2 24 4 2 25 5 2 26 1 3 27 3 3 28 7 3 29 0 4 30 2 4 31 3 4 32 4 5 33 0 5 34 1 5 35

-+
-+
-+
-+
-+ -+ -+ -+ 1 0 0 -1 0 1 0 1 0 0 1 1 0 0 0 1 -+ -+ Bone -+ -+ -+ -+ -+ -+ -+ -+ 0.7886752 0.2113248 0.5773504 -0.5773504 -0.5773503 0.5773503 0.5773503 1.154701 -0.2113249 -0.7886752 0.5773503 -0.5773502 0 0 0 1 -+ -+ -+ -+ -+ -+ -+ -+ 1 1 1 1 1 1 1 1 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ 1 1 1 1 1 1 1 1 -+ 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 -+ -+ -+ -+ -+ -+ -+ -+ -+ 0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25 1.291667 1.333333 1.375 1.416667 1.458333 1.5 1.541667 1.583333 1.625 1.666667 -+ -+ -+ -+ -+ -+ -+ -+ 1 0 0 1 0 1 0 -1 0 0 1 0 0 0 0 1 0.9999878 3.10816e-5 0.004935208 1 0 0.9999802 -0.006297799 -1 -0.004935306 0.006297722 0.999968 0 0 0 0 1 0.999819 4.61727e-4 0.01901668 1 0 0.9997054 -0.02427293 -1 -0.01902229 0.02426853 0.9995245 0 0 0 0 1 0.9991519 0.002163141 0.04111904 1 0 0.9986191 -0.05253414 -1 -0.04117589 0.05248959 0.9977722 0 0 0 0 1 0.9975264 0.006301912 0.07000974 1 0 0.9959731 -0.08965231 -1 -0.0702928 0.08943056 0.9935095 0 0 0 0 1 0.9944467 0.01411698 0.1042901 1 0 0.9909625 -0.1341392 -1 -0.1052413 0.1333943 0.9854594 0 0 0 0 1 0.9894527 0.02671701 0.1423712 1 0 0.9828442 -0.184438 -1 -0.1448563 0.1824927 0.9724778 0 0 0 0 1 0.9821799 0.04490547 0.1825 1 0 0.9710366 -0.2389307 -1 -0.1879434 0.234673 0.9537326 0 0 0 0 1 0.9724072 0.06904543 0.2228386 1 0 0.9551992 -0.2959637 -1 -0.2332902 0.2877972 0.9288425 0 0 0 0 1 0.9600915 0.09897761 0.261587 1 0 0.9352878 -0.3538882 -1 -0.2796861 0.339765 0.8979618 0 0 0 0 1 0.9453882 0.1340003 0.2971281 1 0 0.9115852 -0.4111113 -1 -0.3259466 0.3886598 0.8618018 0 0 0 0 1 0.9286572 0.1729132 0.328172 1 0 0.8847058 -0.4661497 -1 -0.3709391 0.4328933 0.8215885 0 0 0 0 1 0.9104556 0.2141147 0.3538722 1 0 0.8555763 -0.5176768 -1 -0.4136069 0.4713217 0.7789642 0 0 0 0 1 0.8915175 0.2557371 0.3738919 1 0 0.8253933 -0.5645581 -1 -0.4529863 0.5033134 0.7358525 0 0 0 0 1 0.8727233 0.2957927 0.388408 1 0 0.7955672 -0.6058654 -1 -0.4882152 0.5287529 0.6943099 0 0 0 0 1 0.8550603 0.332307 0.3980502 1 0 0.7676533 -0.6408653 -1 -0.5185286 0.5479785 0.6563899 0 0 0 0 1 0.8395769 0.3634188 0.4037789 1 0 0.7432778 -0.6689829 -1 -0.5432408 0.5616626 0.6240388 0 0 0 0 1 0.8273312 0.3874339 0.4067161 1 0 0.7240622 -0.6897347 -1 -0.5617144 0.5706391 0.5990393 0 0 0 0 1 0.8193359 0.4028329 0.4079393 1 0 0.7115462 -0.7026393 -1 -0.5733138 0.5756976 0.5829953 0 0 0 0 1 0.8164964 0.4082482 0.4082486 1 7.75722e-8 0.707107 -0.7071065 -1 -0.5773504 0.57735 0.5773503 0 0 0 0 1 0.8190646 0.4033515 0.4079717 1 7.78161e-8 0.7111219 -0.7030687 -1 -0.5737014 0.5758587 0.5824547 0 0 0 0 1 0.8263245 0.3893851 0.4068995 1 7.85059e-8 0.7224849 -0.6913868 -1 -0.5631944 0.5713098 0.5970069 0 0 0 0 1 0.8375081 0.3675125 0.4043696 1 7.95684e-8 0.7400277 -0.6725764 -1 -0.5464249 0.5632883 0.6197791 0 0 0 0 1 0.8517552 0.3390183 0.3994742 1 8.0922e-8 0.7624427 -0.6470557 -1 -0.5239399 0.5511332 0.6494145 0 0 0 0 1 0.8681612 0.3053284 0.3912425 1 8.24806e-8 0.7883466 -0.6152314 -1 -0.4962822 0.5341201 0.6844119 0 0 0 0 1 0.8858209 0.2680094 0.3788038 1 8.41584e-8 0.8163394 -0.5775725 -1 -0.4640273 0.5116258 0.7231305 0 0 0 0 1 0.9038687 0.2287352 0.3615268 1 8.58731e-8 0.8450637 -0.5346656 -1 -0.42781 0.4832675 0.7638266 0 0 0 0 1 0.9215156 0.1892192 0.339124 1 8.75496e-8 0.8732626 -0.4872499 -1 -0.3883413 0.4490085 0.8047251 0 0 0 0 1 0.9380813 0.1511175 0.3117163 1 8.91235e-8 0.899834 -0.4362323 -1 -0.3464153 0.4092214 0.8441175 0 0 0 0 1 0.9530206 0.1159168 0.2798482 1 9.05428e-8 0.9238796 -0.3826832 -1 -0.3029055 0.3647051 0.8804763 0 0 0 0 1 0.965943 0.08482374 0.2444564 1 9.17705e-8 0.9447417 -0.3278156 -1 -0.2587547 0.3166512 0.9125667 0 0 0 0 1 0.9766233 0.05867312 0.2067956 1 9.27852e-8 0.9620277 -0.2729518 -1 -0.2149581 0.2665711 0.9395387 0 0 0 0 1 0.9850019 0.03787052 0.1683363 1 9.35812e-8 0.975616 -0.2194843 -1 -0.1725436 0.2161924 0.9609836 0 0 0 0 1 0.991176 0.02237916 0.1306496 1 9.41678e-8 0.9856446 -0.1688333 -1 -0.1325524 0.1673435 0.9769473 0 0 0 0 1 0.9953793 0.01175384 0.09529842 1 9.45671e-8 0.9924796 -0.1224106 -1 -0.09602053 0.121845 0.9878936 0 0 0 0 1 0.997952 0.005218936 0.06375288 1 9.48115e-8 0.996666 -0.08159051 -1 -0.06396614 0.08142342 0.9946249 0 0 0 0 1 0.9993011 0.001782816 0.03733916 1 9.49397e-8 0.998862 -0.04769476 -1 -0.0373817 0.04766143 0.9981638 0 0 0 0 1 0.9998515 3.78837e-4 0.01722835 1 9.4992e-8 0.9997582 -0.02198936 -1 -0.01723252 0.0219861 0.9996098 0 0 0 0 1 0.99999 2.53135e-5 0.004462156 1 9.50052e-8 0.9999838 -0.00569412 -1 -0.004462227 0.005694063 0.9999738 0 0 0 0 1 1 0 0 2 0 1 0 -1 0 0 1 0 0 0 0 1 -+ -+ -+ -+ -+ -+ -+ -+ LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ 1 0 0 1 0 1 0 -1 0 0 1 0 0 0 0 1 -+ -+ 0.7886751 -0.5773503 -0.211325 0 0.2113248 0.5773503 -0.7886751 0 0.5773503 0.5773503 0.5773502 0 0 0 0 1 -+ -+ -+ 0 -+ -0.5235989 -+ -2 -+ 2 -+ 2 -+ -+ -+ -+ -+ 0 0 0 -+ 0 0 1 0 -+ 0 1 0 0 -+ 1 0 0 0 -+ 1 1 1 -+ -+ #Armature_Bone -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+
-diff --git a/test/models/invalid/readme.txt b/test/models/invalid/readme.txt -index 6ad8b4380..ad144ca36 100644 ---- a/test/models/invalid/readme.txt -+++ b/test/models/invalid/readme.txt -@@ -18,6 +18,9 @@ crash. - FILES - ********************************************************* - -+box_nested_animation_4286.dae - This was reported as GH#4286. -+ The "count" parameter in "Cube-mesh-positions-array" is too small. -+ - 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. -diff --git a/test/unit/utColladaImportExport.cpp b/test/unit/utColladaImportExport.cpp -index e2842732e..52a927b12 100644 ---- a/test/unit/utColladaImportExport.cpp -+++ b/test/unit/utColladaImportExport.cpp -@@ -357,6 +357,14 @@ TEST_F(utColladaImportExport, exporterUniqueIdsTest) { - ImportAsNames(outFileNamed, scene); - } - -+// This file is invalid, we just want to ensure that the importer is not crashing -+// This was reported as GH#4286. The "count" parameter in "Cube-mesh-positions-array" is too small. -+TEST_F(utColladaImportExport, parseInvalid4286) { -+ Assimp::Importer importer; -+ const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/invalid/box_nested_animation_4286.dae", 0); -+ EXPECT_EQ(nullptr, scene); -+} -+ - #endif - - class utColladaZaeImportExport : public AbstractImportExportBase { --- -2.43.0 - diff --git a/_service b/_service index 8af8e02..3198f89 100644 --- a/_service +++ b/_service @@ -2,7 +2,7 @@ git https://github.com/assimp/assimp - v5.3.1 + v5.4.0 @PARENT_TAG@ v(.*) diff --git a/assimp-5.3.1.tar.xz b/assimp-5.3.1.tar.xz deleted file mode 100644 index eefc967..0000000 --- a/assimp-5.3.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f29853a0bb53791fa361d368161a19b47d4d2bdbb4207dcde86f6f5afa8fa7b3 -size 26664400 diff --git a/assimp-5.4.0.tar.xz b/assimp-5.4.0.tar.xz new file mode 100644 index 0000000..03ab89a --- /dev/null +++ b/assimp-5.4.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e484a54cea71fd9e24c8d9a60ea946fc0bfd62f56b32c61fdc4a14484f79bc3 +size 27535828 diff --git a/assimp.changes b/assimp.changes index 95c1a47..7a2c29b 100644 --- a/assimp.changes +++ b/assimp.changes @@ -1,3 +1,103 @@ +------------------------------------------------------------------- +Thu Apr 11 11:40:44 UTC 2024 - Christophe Marin + +- Update to 5.4.0 + * Reduce memory consumption in JoinVerticesProcess::ProcessMesh() + * Fix: Add check for invalid input argument + * Replace an assert + * Extension of skinning data export to GLB/GLTF format + * Fix output floating-point values to fbx + * Update ImproveCacheLocality.cpp + * Deep arsdk bone double free + * Fix Spelling error + * use size to be compatible with float and double + * Fix: Add missing transformation for normalized normals. + * Fix: Implicit Conversion Error + * Fix add checks for indices + * Update FBXBinaryTokenizer.cpp + * link to external minizip with full path + * utf8 header not found + * Rm unnecessary deg->radian conversion in FBX exporter + * Fix empty mesh handling + * Refactoring: Some cleanups + * Fix invalid read of uint from uvwsrc + * Remove double delete + * fix the mesh-name error. + * COLLADA fixes for textures in C4D input + * Use the correct allocator for deleting objects in case of + duplicate animation Ids + * Fix container overflow in MMD parser + * Fix: PLY heap buffer overflow + * Fix: Check if index for mesh access is out of range + * Update FBXConverter.cpp + * FBX: Use correct time scaling + * Drop explicit inclusion of contrib/ headers + * Update Build.md + * Fix buffer overflow in FBX::Util::DecodeBase64() + * Readme.md: correct 2 errors in section headers + * Fix double free in Video::~Video() + * FBXMeshGeometry: solve issue #5116 using patch provided + * Fix target names not being imported on some gLTF2 models + * correct grammar/typographic errors in comments (8 files) + * KHR_materials_specular fixes + * Disable Hunter + * fixed several issues + * Fix leak + * Check the validity of the archive without parsing + * Fix integer overflow + * Add a test before generating the texture folder + * Build: Disable building zlib for non-windows + * null check. + * Bump actions/upload-artifact from 3 to 4 + * fix: KHR_materials_pbrSpecularGlossiness/diffuseFactor convert + to pbrMetallicRoughness/baseColorFactor + * dynamic_cast error. + * Add missing IRR textures + * Fix handling of X3D IndexedLineSet nodes + * Improve acc file loading + * Readme.md: present hyperlinks in a more uniform style + * FBX Blendshape FullWeight: Vec -> FullWeight: Vec + * Fix for issues #5422, #3411, and #5443 -- DXF insert scaling fix + and colour fix + * Update StbCommon.h to stay up-to-date with stb_image.h. + * Introduce aiBuffer + * Add bounds checks to the parsing utilities. + * Fix crash in viewer + * Static code analysis fixes + * Kimkulling/fix behavior of remove redundant mats issue 5438 + * Fix X importer breakage introduced in commit f844c33 + * Fileformats.md: clarify that import of .blend files is deprecated + * feat:1.add 3mf vertex color read 2.fix 3mf read texture bug + * More GLTF loading hardening + * Bump actions/cache from 3 to 4 + * Blendshape->Geometry in FBX Export + * Fix identity matrix check + * Fix PyAssimp under Python >= 3.12 and macOS library search support + * Add ISC LICENSE file + * ColladaParser: check values length + * Include defs in not cpp-section + * Add correct double zero check + * Add zlib-header to ZipArchiveIOSystem.h + * Add 2024 to copyright infos + * Append a new setting "AI_CONFIG_EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY" + * Eliminate non-ascii comments in clipper + * Fix compilation for MSVC14. + * Add correction of fbx model rotation + * Delete tools/make directory + * Delete packaging/windows-mkzip directory + * Fix #5420 duplicate degrees to radians conversion in fbx importer + * Respect merge identical vertices in ObjExporter + * Fix utDefaultIOStream test under MinGW + * Fix typos + * Add initial macOS support to C4D importer + * Update hunter into CMakeLists.txt + * Fix: add a missing import for AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON_DEFAULT + * updated json + * Cleanup: Fix review findings + * Update CMakeLists.txt +- Drop patch, merged upstream: + * 0001-ColladaParser-check-values-length-5462.patch + ------------------------------------------------------------------- Mon Feb 12 23:13:07 UTC 2024 - Adam Mizerski diff --git a/assimp.spec b/assimp.spec index 6ccfd9f..8dfbb72 100644 --- a/assimp.spec +++ b/assimp.spec @@ -18,16 +18,14 @@ %define sover 5 Name: assimp -Version: 5.3.1 +Version: 5.4.0 Release: 0 Summary: Library to load and process 3D scenes from various data formats License: BSD-3-Clause AND MIT Group: Development/Libraries/C and C++ URL: https://www.assimp.org/ Source0: %{name}-%{version}.tar.xz -# PATCH-FIX-UPSTREAM -Patch0: 0001-ColladaParser-check-values-length-5462.patch -BuildRequires: cmake +BuildRequires: cmake >= 3.22 BuildRequires: dos2unix BuildRequires: gcc-c++ BuildRequires: irrlicht-devel @@ -74,7 +72,6 @@ engine-specific format for easy and fast every-day-loading. %build %cmake \ -DASSIMP_IGNORE_GIT_HASH=ON \ - -DASSIMP_BUILD_ZLIB=OFF \ -DASSIMP_WARNINGS_AS_ERRORS=OFF \ -DASSIMP_BUILD_ASSIMP_TOOLS=ON