From 36bd91e6fbdd5609dc6995fa8bc1e5b38eb5fc1a Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Date: Tue, 15 Apr 2025 02:11:57 +0200
Subject: [PATCH 09/12] fftools/textformat/avtextformat: Fix segfault upon
 allocation error

Would happen if an AVTextFormatContext's private context
could not be allocated.

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

diff --git a/fftools/textformat/avtextformat.c b/fftools/textformat/avtextformat.c
index 7edf7901e4..5e225825ba 100644
--- a/fftools/textformat/avtextformat.c
+++ b/fftools/textformat/avtextformat.c
@@ -112,12 +112,14 @@ int avtext_context_close(AVTextFormatContext **ptctx)
 
     av_hash_freep(&tctx->hash);
 
-    if (tctx->formatter->uninit)
-        tctx->formatter->uninit(tctx);
+    if (tctx->formatter) {
+        if (tctx->formatter->uninit)
+            tctx->formatter->uninit(tctx);
+        if (tctx->formatter->priv_class)
+            av_opt_free(tctx->priv);
+    }
     for (i = 0; i < SECTION_MAX_NB_LEVELS; i++)
         av_bprint_finalize(&tctx->section_pbuf[i], NULL);
-    if (tctx->formatter->priv_class)
-        av_opt_free(tctx->priv);
     av_freep(&tctx->priv);
     av_opt_free(tctx);
     av_freep(ptctx);
-- 
2.45.2