From 5d9b6410933b498b52e5651ee1088f1996a96041 Mon Sep 17 00:00:00 2001 From: Kris Austin Date: Tue, 21 Jul 2026 13:24:15 -0500 Subject: [PATCH] fix: guard filament_printable read against a short per-filament array (#14695) --- src/libslic3r/Print.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 7c6290634b..3e2d9c195c 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -3605,7 +3605,8 @@ std::vector> Print::get_physical_unprintable_filaments(const std:: return physical_unprintables; auto get_unprintable_extruder_id = [&](unsigned int filament_idx) -> int { - int status = m_config.filament_printable.values[filament_idx]; + // filament_printable may be shorter than the filament count; get_at() clamps. + int status = m_config.filament_printable.get_at(filament_idx); for (int i = 0; i < extruder_num; ++i) { if (!(status >> i & 1)) { return i;