From 976971532a0e0b309ea23975fa8b5ff98023d0a6 Mon Sep 17 00:00:00 2001 From: Alessandro Mauri Date: Thu, 17 Sep 2026 22:25:26 +0200 Subject: [PATCH] fix potential oob access and resend command on i2c failure --- fw/display.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fw/display.c b/fw/display.c index ade20eb..7269b82 100644 --- a/fw/display.c +++ b/fw/display.c @@ -133,7 +133,7 @@ static uint8_t u8x8_gpio_and_delay(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, v static uint8_t u8x8_byte_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) { - static uint8_t buffer[32]; + static uint8_t buffer[256]; static uint8_t buffer_idx; uint8_t *data; @@ -152,7 +152,7 @@ static uint8_t u8x8_byte_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *a buffer_idx = 0; break; case U8X8_MSG_BYTE_END_TRANSFER: - i2c_sendBytes(I2C_TARGET, u8x8_GetI2CAddress(u8x8) >> 1, buffer, buffer_idx); + while(i2c_sendBytes(I2C_TARGET, u8x8_GetI2CAddress(u8x8) >> 1, buffer, buffer_idx) != 0); break; default: return 0;