From e9689cbff3a3f50903d4850f83e7a14552e8d468 Mon Sep 17 00:00:00 2001 From: Tony Cook Date: Tue, 26 Feb 2019 09:39:57 +1100 Subject: [PATCH] i_img_make_palette() no longer leaks on quantization failure CID 185566 --- Imager.xs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Imager.xs b/Imager.xs index c20b418f..7b6433df 100644 --- a/Imager.xs +++ b/Imager.xs @@ -3266,14 +3266,13 @@ i_img_make_palette(HV *quant_hv, ...) PPCODE: if (count <= 0) croak("Please supply at least one image (%d)", (int)count); - imgs = mymalloc(sizeof(i_img *) * count); + imgs = malloc_temp(aTHX_ count * sizeof(i_img *)); for (i = 0; i < count; ++i) { SV *img_sv = ST(i + 1); if (SvROK(img_sv) && sv_derived_from(img_sv, "Imager::ImgRaw")) { imgs[i] = INT2PTR(i_img *, SvIV((SV*)SvRV(img_sv))); } else { - myfree(imgs); croak("Image %d is not an image object", (int)i+1); } } @@ -3290,7 +3289,6 @@ i_img_make_palette(HV *quant_hv, ...) PUSHs(sv_c); } ip_cleanup_quant_opts(aTHX_ &quant); - myfree(imgs); void -- 2.30.2