From 0e389967e5e097e24fe768ad02b19a9ed3d95efe Mon Sep 17 00:00:00 2001 From: nick black Date: Tue, 9 Apr 2024 23:31:02 -0400 Subject: [PATCH] sixel: free meta on error paths --- src/lib/sixel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/sixel.c b/src/lib/sixel.c index dcfe8ba98..37db90252 100644 --- a/src/lib/sixel.c +++ b/src/lib/sixel.c @@ -987,7 +987,7 @@ build_sixel_band(qstate* qs, int bnum){ } int cidx = find_color(qs, *rgb); if(cidx < 0){ - // FIXME free? + free(meta); return -1; } int act; @@ -1012,6 +1012,7 @@ build_sixel_band(qstate* qs, int bnum){ }else{ b->vecs[c] = sixelband_extend(b->vecs[c], &meta[c], qs->lenx, x); if(b->vecs[c] == NULL){ + free(meta); return -1; } meta[c].rle = 1; @@ -1024,6 +1025,7 @@ build_sixel_band(qstate* qs, int bnum){ if(meta[i].rle){ // color was wholly unused iff rle == 0 at end b->vecs[i] = sixelband_extend(b->vecs[i], &meta[i], qs->lenx, x); if(b->vecs[i] == NULL){ + free(meta); return -1; } }else{