From 069d910388502aa5d374c78bd7dfb54af09d38ec Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Wed, 16 Oct 2024 18:21:12 -0700 Subject: vcr: prevent row overflow in mem vcr_draw_text() Another row clipping check off by one, it'd be nice to make this draw text into partial rows... but this as-is may just scribble. --- src/vcr.c | 2 +- src/vmon.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vcr.c b/src/vcr.c index 711e17a..74e1c21 100644 --- a/src/vcr.c +++ b/src/vcr.c @@ -991,7 +991,7 @@ void vcr_draw_text(vcr_t *vcr, vcr_layer_t layer, int x, int row, const vcr_str_ #endif /* USE_XLIB */ case VCR_BACKEND_TYPE_MEM: { - if (row >= 0 && row * VCR_ROW_HEIGHT < vcr->height) { + if (row >= 0 && (row + 1) * VCR_ROW_HEIGHT < vcr->height) { int y = row * VCR_ROW_HEIGHT + 3; uint8_t mask = (0x1 << layer); diff --git a/src/vmon.c b/src/vmon.c index e6c0f14..c9b3d6c 100644 --- a/src/vmon.c +++ b/src/vmon.c @@ -798,6 +798,7 @@ static int vmon_snapshot(vmon_t *vmon) #endif } + /* handle the next backend event, may block */ static void vmon_process_event(vmon_t *vmon) { -- cgit v1.2.3