From b5a457cd1997cbe2ca3bfc9cb9abfc67919e6bfd Mon Sep 17 00:00:00 2001 From: PrimmR Date: Sun, 6 Jul 2025 16:31:45 +0100 Subject: [PATCH] Fix text buffer overflow in sunrise_sunset_face (#22) --- watch-faces/complication/sunrise_sunset_face.c | 4 ++-- watch-faces/complication/sunrise_sunset_face.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/watch-faces/complication/sunrise_sunset_face.c b/watch-faces/complication/sunrise_sunset_face.c index f503a5a2..7dcb3350 100644 --- a/watch-faces/complication/sunrise_sunset_face.c +++ b/watch-faces/complication/sunrise_sunset_face.c @@ -152,7 +152,7 @@ static void _sunrise_sunset_face_update(sunrise_sunset_state_t *state) { watch_display_text_with_fallback(WATCH_POSITION_TOP_LEFT, "RIS", "rI"); sprintf(buf, "%2d", scratch_time.unit.day); watch_display_text(WATCH_POSITION_TOP_RIGHT, buf); - sprintf(buf, "%2d%02d%s", scratch_time.unit.hour, scratch_time.unit.minute,longLatPresets[state->longLatToUse].name); + sprintf(buf, "%2d%02d%2s", scratch_time.unit.hour, scratch_time.unit.minute,longLatPresets[state->longLatToUse].name); watch_display_text(WATCH_POSITION_BOTTOM, buf); return; } else { @@ -191,7 +191,7 @@ static void _sunrise_sunset_face_update(sunrise_sunset_state_t *state) { watch_display_text_with_fallback(WATCH_POSITION_TOP_LEFT, "SET", "SE"); sprintf(buf, "%2d", scratch_time.unit.day); watch_display_text(WATCH_POSITION_TOP_RIGHT, buf); - sprintf(buf, "%2d%02d%s", scratch_time.unit.hour, scratch_time.unit.minute,longLatPresets[state->longLatToUse].name); + sprintf(buf, "%2d%02d%2s", scratch_time.unit.hour, scratch_time.unit.minute,longLatPresets[state->longLatToUse].name); watch_display_text(WATCH_POSITION_BOTTOM, buf); return; } else { diff --git a/watch-faces/complication/sunrise_sunset_face.h b/watch-faces/complication/sunrise_sunset_face.h index 9ba37a54..b4bded0c 100644 --- a/watch-faces/complication/sunrise_sunset_face.h +++ b/watch-faces/complication/sunrise_sunset_face.h @@ -72,7 +72,7 @@ void sunrise_sunset_face_resign(void *context); }) typedef struct { - char name[2]; + char name[3]; int16_t latitude; int16_t longitude; } long_lat_presets_t;