From 1aff8260b00623c6bfe7251312fb519d333f3ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Fern=C3=A1ndez=20Manzano?= Date: Tue, 5 May 2026 18:01:12 +0200 Subject: [PATCH] Fix file leak on error path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Close file when mpack_tree_init_stdfile() fails after checking its size Signed-off-by: Jesús Fernández Manzano --- src/mpack/mpack-node.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mpack/mpack-node.c b/src/mpack/mpack-node.c index 8af1562..b580821 100644 --- a/src/mpack/mpack-node.c +++ b/src/mpack/mpack-node.c @@ -1191,8 +1191,11 @@ static void mpack_tree_init_stdfile_noclose(mpack_tree_t* tree, FILE* stdfile, s } void mpack_tree_init_stdfile(mpack_tree_t* tree, FILE* stdfile, size_t max_bytes, bool close_when_done) { - if (!mpack_tree_file_check_max_bytes(tree, max_bytes)) + if (!mpack_tree_file_check_max_bytes(tree, max_bytes)) { + if (close_when_done) + fclose(stdfile); return; + } mpack_tree_init_stdfile_noclose(tree, stdfile, max_bytes);