From 25030c39b983fd82f216c0cfb8bd3ee65763c54e Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Date: Thu, 17 Apr 2025 13:34:53 +0200
Subject: [PATCH 14/14] avcodec/magicyuvenc: Hoist check out of loop

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/magicyuvenc.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/magicyuvenc.c b/libavcodec/magicyuvenc.c
index 94e8d31122..02b570d618 100644
--- a/libavcodec/magicyuvenc.c
+++ b/libavcodec/magicyuvenc.c
@@ -625,12 +625,14 @@ static av_cold int magy_encode_close(AVCodecContext *avctx)
 {
     MagicYUVContext *s = avctx->priv_data;
 
-    for (int i = 0; i < s->planes * s->nb_slices && s->slices; i++) {
-        Slice *sl = &s->slices[i];
+    if (s->slices) {
+        for (int i = 0; i < s->planes * s->nb_slices; i++) {
+            Slice *sl = &s->slices[i];
 
-        av_freep(&sl->slice);
+            av_freep(&sl->slice);
+        }
+        av_freep(&s->slices);
     }
-    av_freep(&s->slices);
     av_freep(&s->decorrelate_buf);
 
     return 0;
-- 
2.45.2