From 4b714665269515bed3f572bd989f5a97dd043990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 23 Apr 2022 18:12:39 +0000 Subject: [PATCH] Fix PROGMEM read in ProgressCode message This could cause the printer to crash. The Serial Stream would show a garbled string and the same corruption would appear on the Status Screen's status line. --- Firmware/mmu2_progress_converter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Firmware/mmu2_progress_converter.cpp b/Firmware/mmu2_progress_converter.cpp index f82012f19..edebef331 100644 --- a/Firmware/mmu2_progress_converter.cpp +++ b/Firmware/mmu2_progress_converter.cpp @@ -62,7 +62,8 @@ static const char * const progressTexts[] PROGMEM = { }; const char * const ProgressCodeToText(uint16_t pc){ - return ( pc <= 26 ) ? progressTexts[pc] : progressTexts[0]; // @@TODO ?? a better fallback option? + // @@TODO ?? a better fallback option? + return ( pc <= 26 ) ? static_cast(pgm_read_ptr(&progressTexts[pc])) : static_cast(pgm_read_ptr(&progressTexts[0])); } void TranslateProgress(uint16_t pc, char *dst, size_t dstSize) {