mirror of
https://github.com/tmux/tmux.git
synced 2026-05-30 14:16:18 +00:00
Track which list (images or saved_images) each image is on so they can be
removed from the correct list when the total image count is reached. Fixes crash reported by xlabai at tencent dot com.
This commit is contained in:
5
image.c
5
image.c
@@ -35,7 +35,7 @@ image_free(struct image *im)
|
||||
TAILQ_REMOVE(&all_images, im, all_entry);
|
||||
all_images_count--;
|
||||
|
||||
TAILQ_REMOVE(&s->images, im, entry);
|
||||
TAILQ_REMOVE(im->list, im, entry);
|
||||
sixel_free(im->data);
|
||||
free(im->fallback);
|
||||
free(im);
|
||||
@@ -109,7 +109,8 @@ image_store(struct screen *s, struct sixel_image *si)
|
||||
|
||||
image_fallback(&im->fallback, im->sx, im->sy);
|
||||
|
||||
TAILQ_INSERT_TAIL(&s->images, im, entry);
|
||||
im->list = &s->images;
|
||||
TAILQ_INSERT_TAIL(im->list, im, entry);
|
||||
|
||||
TAILQ_INSERT_TAIL(&all_images, im, all_entry);
|
||||
if (++all_images_count == MAX_IMAGE_COUNT)
|
||||
|
||||
Reference in New Issue
Block a user