From 7c61740346f836d8bff8e5da34b0b4b89460d19e Mon Sep 17 00:00:00 2001 From: Benjamin Valentin Date: Sat, 7 Jan 2023 02:22:43 +0100 Subject: [PATCH] drivers/ws281x: fix out-of-bounds read on native --- drivers/ws281x/vt100.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/ws281x/vt100.c b/drivers/ws281x/vt100.c index 82a659c6a9..bdf11c16ff 100644 --- a/drivers/ws281x/vt100.c +++ b/drivers/ws281x/vt100.c @@ -26,10 +26,10 @@ void ws281x_write_buffer(ws281x_t *dev, const void *buf, size_t size) (void) dev; const uint8_t *src = buf; - for (unsigned i = 0; i < size; ++i) { - int r = src[WS281X_BYTES_PER_DEVICE * i + WS281X_OFFSET_R]; - int g = src[WS281X_BYTES_PER_DEVICE * i + WS281X_OFFSET_G]; - int b = src[WS281X_BYTES_PER_DEVICE * i + WS281X_OFFSET_B]; + for (unsigned i = 0; i < size; i += WS281X_BYTES_PER_DEVICE) { + int r = src[i + WS281X_OFFSET_R]; + int g = src[i + WS281X_OFFSET_G]; + int b = src[i + WS281X_OFFSET_B]; printf("\033[48;2;%d;%d;%dm ", r, g, b); } }