From dbbe5c1e51cbd54483d2a4aee89a194960106ff5 Mon Sep 17 00:00:00 2001 From: Chewing_Bever Date: Thu, 15 Dec 2022 12:09:43 +0100 Subject: [PATCH] fix(agent): remove infinite loop and account for externally removed images --- src/agent/images.v | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/agent/images.v b/src/agent/images.v index 185192e..dd32656 100644 --- a/src/agent/images.v +++ b/src/agent/images.v @@ -73,7 +73,21 @@ fn (mut m ImageManager) clean_old_images() { // wasn't deleted. Therefore, we move the index over. If the function // returns true, the array's length has decreased by one so we don't // move the index. - dd.remove_image(m.images[image][i]) or { i += 1 } + dd.remove_image(m.images[image][i]) or { + // The image was removed by an external event + if err.code() == 404 { + m.images[image].delete(i) + } + // The image couldn't be removed, so we need to keep track of + // it + else { + i += 1 + } + + continue + } + + m.images[image].delete(i) } } }