Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
Fedora Release Engineering
9f9f1c36f2 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 04:03:06 +00:00
Sandro Mani
d70b66d8fe PyAssimp: Re-add 'aiProcess_Triangulate' (#2423174) 2025-12-27 19:11:41 +01:00
Sandro Mani
5cacab3fd7 Backport fix for CVE-2025-11277 2025-12-14 20:03:32 +01:00
3 changed files with 69 additions and 1 deletions

View file

@ -0,0 +1,24 @@
diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/Q3D/Q3DLoader.cpp assimp-6.0.2-new/code/AssetLib/Q3D/Q3DLoader.cpp
--- assimp-6.0.2/code/AssetLib/Q3D/Q3DLoader.cpp 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/code/AssetLib/Q3D/Q3DLoader.cpp 2025-12-14 20:02:55.733930684 +0100
@@ -55,6 +55,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#include <assimp/DefaultLogger.hpp>
#include <assimp/IOSystem.hpp>
+#include <limits>
+
namespace Assimp {
static constexpr aiImporterDesc desc = {
@@ -309,6 +311,11 @@ void Q3DImporter::InternReadFile(const s
throw DeadlyImportError("Quick3D: Invalid texture. Width or height is zero");
}
+ const unsigned int uint_max = std::numeric_limits<unsigned int>::max();
+ if (tex->mWidth > (uint_max / tex->mHeight)) {
+ throw DeadlyImportError("Quick3D: Texture dimensions are too large, resulting in overflow.");
+ }
+
unsigned int mul = tex->mWidth * tex->mHeight;
aiTexel *begin = tex->pcData = new aiTexel[mul];
aiTexel *const end = &begin[mul - 1] + 1;

View file

@ -2,7 +2,7 @@
Name: assimp
Version: 6.0.2
Release: 3%{?dist}
Release: 6%{?dist}
Summary: Library to import various 3D model formats into applications
# Assimp is BSD
@ -33,6 +33,11 @@ Patch2: %{name}-nozlib.patch
Patch3: %{name}-docs.patch
# Enable ctest
Patch4: %{name}-tests.patch
# Backport fix for CVE-2025-11277
Patch5: https://github.com/assimp/assimp/commit/0978918f7148fbcd3d05cc6573dae7859975a895.patch
# PyAssimp: Re-add 'aiProcess_Triangulate' (#2423174)
Patch6: https://github.com/assimp/assimp/commit/dd98d4aea3d9d2b3544540ea44eeb15c3616dbb7.patch
BuildRequires: boost-devel
BuildRequires: cmake
@ -170,6 +175,15 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Sat Dec 27 2025 Sandro Mani <manisandro@gmail.com> - 6.0.2-5
- PyAssimp: Re-add 'aiProcess_Triangulate' (#2423174)
* Sun Dec 14 2025 Sandro Mani <manisandro@gmail.com> - 6.0.2-4
- Backport fix for CVE-2025-11277
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 6.0.2-3
- Rebuilt for Python 3.14.0rc3 bytecode

View file

@ -0,0 +1,30 @@
diff -rupN --no-dereference assimp-6.0.2/port/PyAssimp/pyassimp/postprocess.py assimp-6.0.2-new/port/PyAssimp/pyassimp/postprocess.py
--- assimp-6.0.2/port/PyAssimp/pyassimp/postprocess.py 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/port/PyAssimp/pyassimp/postprocess.py 2025-12-27 19:11:08.846657557 +0100
@@ -36,13 +36,21 @@ aiProcess_JoinIdenticalVertices = 0x2
#
aiProcess_MakeLeftHanded = 0x4
-## <hr>Triangulates all faces of all meshes.
+## <hr>Triangulates all faces of all meshes.
#
# By default the imported mesh data might contain faces with more than 3
-# indices. For rendering you'll usually want all faces to be triangles.
-# This post processing stepaiProcess_ForceGenNormals
-## <hr>Removes some parts of the data structure (animations, materials,
-# light sources, cameras, textures, vertex components).
+# indices. For rendering you'll usually want all faces to be triangles.
+# This post processing step splits up faces with more than 3 indices into
+# triangles. Line and point primitives are *not* modified! If you want
+# 'triangles only' with no other kinds of primitives, try the following
+# solution:
+# - Specify both #aiProcess_Triangulate and #aiProcess_SortByPType
+# - Ignore all point and line meshes when you process assimp's output
+#
+aiProcess_Triangulate = 0x8
+
+# <hr>Removes some parts of the data structure (animations, materials,
+# light sources, cameras, textures, vertex components).
#
# The components to be removed are specified in a separate
# configuration option, <tt>#AI_CONFIG_PP_RVC_FLAGS<tt>. This is quite useful