From 3d7bf13932d59f038d0e330f3e20bd359e7a0139 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Mon, 25 Aug 2025 13:38:40 +0800 Subject: [PATCH] FIX: _add_auxiliary_dir_to_archive crash on empty path Change-Id: I940fab66ce9512225968510c1f1dc8868c6790ad Jira: STUDIO-14005 (cherry picked from commit 5f6b4b58a5bda65369b95fa7dc5ed7ad793040e8) --- src/libslic3r/Format/bbs_3mf.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index 1478c388a6..f2b6cf1804 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -8172,10 +8172,10 @@ bool _BBS_3MF_Exporter::_add_auxiliary_dir_to_archive(mz_zip_archive &archive, c std::replace(dst_in_3mf.begin(), dst_in_3mf.end(), '\\', '/'); if (_3MF_COVER_FILE.compare(1, _3MF_COVER_FILE.length() - 1, dst_in_3mf) == 0) { data._3mf_thumbnail = dst_in_3mf; - } else if (m_thumbnail_small.compare(1, m_thumbnail_small.length() - 1, dst_in_3mf) == 0) { + } else if (!m_thumbnail_small.empty() && m_thumbnail_small.compare(1, m_thumbnail_small.length() - 1, dst_in_3mf) == 0) { data._3mf_printer_thumbnail_small = dst_in_3mf; if (m_thumbnail_middle == m_thumbnail_small) data._3mf_printer_thumbnail_middle = dst_in_3mf; - } else if (m_thumbnail_middle.compare(1, m_thumbnail_middle.length() - 1, dst_in_3mf) == 0) { + } else if (!m_thumbnail_middle.empty() && m_thumbnail_middle.compare(1, m_thumbnail_middle.length() - 1, dst_in_3mf) == 0) { data._3mf_printer_thumbnail_middle = dst_in_3mf; } result &= _add_file_to_archive(archive, dst_in_3mf, src_file);