sixel: fix crash when an explicit sixel size had a height less than 6 pixels

This commit is contained in:
Daniel Eklöf 2020-11-23 19:22:40 +01:00
parent 8eaa195990
commit 275f97381d
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 2 additions and 4 deletions

View file

@ -102,6 +102,7 @@ means foot can be PGO:d in e.g. sandboxed build scripts. See
(https://codeberg.org/dnkl/foot/issues/210).
* Key mappings for key combinations with `alt`+`return`.
* `footclient` `-m` (`--maximized`) flag being ignored.
* Crash with explicitly sized sixels with a height less than 6 pixels.
### Security

View file

@ -815,9 +815,6 @@ resize(struct terminal *term, int new_width, int new_height)
assert(alloc_new_height >= new_height);
assert(alloc_new_height - new_height < 6);
assert(new_width >= old_width);
assert(new_height >= old_height);
uint32_t *new_data = NULL;
if (new_width == old_width) {
@ -838,7 +835,7 @@ resize(struct terminal *term, int new_width, int new_height)
new_data = xmalloc(alloc_new_width * alloc_new_height * sizeof(uint32_t));
/* Copy old rows, and initialize new columns to background color */
for (int r = 0; r < old_height; r++) {
for (int r = 0; r < min(old_height, new_height); r++) {
memcpy(&new_data[r * new_width], &old_data[r * old_width], old_width * sizeof(uint32_t));
for (int c = old_width; c < new_width; c++)