From 35ccc6f709eda2a370b46f1b77b378d7481d3395 Mon Sep 17 00:00:00 2001 From: Maya Date: Mon, 25 May 2026 22:44:57 +0300 Subject: [PATCH] fix: single image/size ico conversion memory leak (#252) why was it being read like this. fixes #252 --- src/lib/workers/magick.ts | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/lib/workers/magick.ts b/src/lib/workers/magick.ts index b6e694f..5ee755b 100644 --- a/src/lib/workers/magick.ts +++ b/src/lib/workers/magick.ts @@ -65,22 +65,12 @@ const handleMessage = async ( // special ico handling to split them all into separate images if (from === ".ico") { const imgs = MagickImageCollection.create(); - - while (true) { - try { - const img = MagickImage.create( - new Uint8Array(buffer), - new MagickReadSettings({ - format: MagickFormat.Ico, - frameIndex: imgs.length, - }), - ); - imgs.push(img); - // eslint-disable-next-line @typescript-eslint/no-unused-vars - } catch (_) { - break; - } - } + imgs.read( + new Uint8Array(buffer), + new MagickReadSettings({ + format: MagickFormat.Ico, + }), + ); if (imgs.length === 0) { return {