From 80558af9a1904eeaaa9cbaa7703c1ce1e48b57db Mon Sep 17 00:00:00 2001 From: Jan Date: Thu, 19 Jun 2025 18:30:40 +0100 Subject: [PATCH] fix: accessing freed memory when writing gltf inverseBindMatrix --- src/ObjWriting/XModel/Gltf/GltfWriter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ObjWriting/XModel/Gltf/GltfWriter.cpp b/src/ObjWriting/XModel/Gltf/GltfWriter.cpp index 0a896c90..bec9c598 100644 --- a/src/ObjWriting/XModel/Gltf/GltfWriter.cpp +++ b/src/ObjWriting/XModel/Gltf/GltfWriter.cpp @@ -534,7 +534,8 @@ namespace const auto translation = Eigen::Translation3f(bone.globalOffset[0], bone.globalOffset[2], -bone.globalOffset[1]); const auto rotation = Eigen::Quaternionf(bone.globalRotation.w, bone.globalRotation.x, bone.globalRotation.z, -bone.globalRotation.y); - const auto inverseBindMatrix = (translation * rotation).matrix().inverse(); + const auto bindMatrix = (translation * rotation); + const auto inverseBindMatrix = bindMatrix.matrix().inverse(); // GLTF matrix is column major inverseBindMatrixData[0] = inverseBindMatrix(0, 0);