What changed, and why it matters
This commit changes the on-screen message shown when the device's Rust code crashes ('panics'). It now first reassures the user that their assets are safe and blames a 'failed data request,' then prints the technical Rust panic details in gray text instead of showing only the raw panic message. There is no direct evidence this fixes a security vulnerability; it appears to be a user-experience improvement that may also reduce information leakage from panic messages.
Treat as a routine UX/hardening change. If panic_info is derived from untrusted input, review whether PrintOnLcd() safely handles format strings and long strings, since the panic text is still displayed. No urgent action required based on this diff alone.
Security signals we found
Information disclosure reduction: raw Rust panic details are de-emphasized (gray color) and preceded by a sanitized user-facing message.
No memory safety, buffer handling, or control-flow changes observed.
No vendor statement of security relevance supplied.
Evidence from the diff
In LogRustPanic(), the firmware now prints a user-friendly reassurance (‘The error was caused by a failed data request. Your assets remain safe.’) before the technical panic details, and renders the panic_info string in a gray RGB565 color rather than white. The function still halts in while(1). The change reduces the prominence of raw Rust panic output on the device screen but does not alter control flow, logging, or crash handling.
Changed components
src/utils/log/log_print.cLogRustPanic()Device LCD panic displayInspect captured patch +4 / −1
diff --git a/src/utils/log/log_print.c b/src/utils/log/log_print.c
index be289c6..4f0fdbf 100644
--- a/src/utils/log/log_print.c
+++ b/src/utils/log/log_print.c
@@ -181,8 +181,11 @@ LV_FONT_DECLARE(openSans_20);
void LogRustPanic(char* panic_info)
{
- PrintOnLcd(&openSans_20, 0xFFFF, "Rust Panic: %s\r\n", panic_info);
+ PrintOnLcd(&openSans_20, 0xFFFF, "The error was caused by a failed data request.\nYour assets remain safe.\n");
PrintErrorInfoOnLcd();
+ uint32_t c = 0x666666;
+ uint16_t color = (uint16_t)(((c & 0xF80000) >> 16) | ((c & 0xFC00) >> 13) | ((c & 0x1C00) << 3) | ((c & 0xF8) << 5));
+ PrintOnLcd(&openSans_20, color, "Rust Panic: %s\r\n", panic_info);
while (1);
}
Why this scored 16/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.