From 358bbdf93fb6c0247530be431f4bcf9168bf3abf Mon Sep 17 00:00:00 2001 From: Leonardo Alminana Date: Tue, 22 Apr 2025 16:55:43 +0200 Subject: [PATCH] in_tail: fix disposal order to prevent use after free Signed-off-by: Leonardo Alminana --- plugins/in_tail/tail_file.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/plugins/in_tail/tail_file.c b/plugins/in_tail/tail_file.c index 8a404edfdcf..77d86e786a4 100644 --- a/plugins/in_tail/tail_file.c +++ b/plugins/in_tail/tail_file.c @@ -1305,16 +1305,15 @@ void flb_tail_file_remove(struct flb_tail_file *file) flb_log_event_encoder_destroy(file->sl_log_event_encoder); } - if (file->ml_log_event_encoder != NULL) { - flb_log_event_encoder_destroy(file->ml_log_event_encoder); - } - /* remove the multiline.core stream */ if (ctx->ml_ctx && file->ml_stream_id > 0) { - /* destroy ml stream */ flb_ml_stream_id_destroy_all(ctx->ml_ctx, file->ml_stream_id); } + if (file->ml_log_event_encoder != NULL) { + flb_log_event_encoder_destroy(file->ml_log_event_encoder); + } + if (file->rotated > 0) { #ifdef FLB_HAVE_SQLDB /*