diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2024-10-16 18:21:12 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2024-10-16 18:21:12 -0700 |
commit | 069d910388502aa5d374c78bd7dfb54af09d38ec (patch) | |
tree | 30ce745392ef9884d9b1d6fd0cd96be542631144 | |
parent | f38bb043fdb62c57dba3ee4666632e7a21128e5a (diff) |
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.
-rw-r--r-- | src/vcr.c | 2 | ||||
-rw-r--r-- | src/vmon.c | 1 |
2 files changed, 2 insertions, 1 deletions
@@ -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); @@ -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) { |