diff --git a/CHANGELOG.md b/CHANGELOG.md index 82416455..9ceab4d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -131,6 +131,8 @@ * Pressing a modifier key while the kitty keyboard protocol is enabled no longer resets the viewport, or clears the selection. * Crash when failing to load an xcursor image ([#1624][1624]). +* Crash when resizing a dynamically sized sixel (no raster + attributes), with a non-1:1 aspect ratio. [1531]: https://codeberg.org/dnkl/foot/issues/1531 [1573]: https://codeberg.org/dnkl/foot/issues/1573 diff --git a/sixel.c b/sixel.c index c046145f..8ec72c15 100644 --- a/sixel.c +++ b/sixel.c @@ -1347,8 +1347,9 @@ resize_vertically(struct terminal *term, int new_height) uint32_t *old_data = term->sixel.image.data; const int width = term->sixel.image.width; const int old_height = term->sixel.image.height; + const int sixel_row_height = 6 * term->sixel.pan; - int alloc_height = (new_height + 6 - 1) / 6 * 6; + int alloc_height = (new_height + sixel_row_height - 1) / sixel_row_height * sixel_row_height; xassert(new_height > 0);