fix: guard filament_printable read against a short per-filament array (#14695)

This commit is contained in:
Kris Austin
2026-07-21 13:24:15 -05:00
committed by GitHub
parent 8390d55127
commit 5d9b641093

View File

@@ -3605,7 +3605,8 @@ std::vector<std::set<int>> 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;