diff options
| author | Dien-Nhung Nguyen <kein@kienlab.com> | 2024-09-05 22:30:40 +0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-05 17:30:40 +0200 |
| commit | 68e4ce488d0a011c2e03c631b5cc0c24dff7e1f8 (patch) | |
| tree | 345c990d0756e2abc0658c52d937d8df0d745550 | |
| parent | a8b32e91b6f5b4df44372d942a4f514b66ceb7f5 (diff) | |
fix: crash loop on new chip (#45)
changes: skip reading bitmaps on invalid magic header
| -rw-r--r-- | src/data.c | 3 | ||||
| -rw-r--r-- | src/main.c | 3 |
2 files changed, 6 insertions, 0 deletions
@@ -43,6 +43,9 @@ uint16_t data_flash2newmem(uint8_t **chunk, uint32_t n) { data_legacy_t *header = data_get_header(0); + if (memcmp(header->header, "wang", 5)) + return 0; + uint16_t size = bswap16(header->sizes[n]) * LED_ROWS; if (size == 0) return 0; @@ -79,6 +79,9 @@ void play_splash(xbm_t *xbm, int col, int row) void load_bmlist()
{
+ if (data_get_header(0) == 0) // There is no bitmap stored in flash
+ return; // skip
+
bm_t *curr_bm = bmlist_current();
for (int i=0; i<8; i++) {
|