From 1d352baedc725131c60bd64e0f20ba2f6bf284d7 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Fri, 1 Jul 2022 13:22:38 +0200 Subject: [PATCH] output: use flow's proto for file loggers As there can be an ICMP packet which gets related to a TCP flow. Ticket: #5408 --- src/output-file.c | 4 ++-- src/output-filedata.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/output-file.c b/src/output-file.c index 832e2e992304..f62e846b3747 100644 --- a/src/output-file.c +++ b/src/output-file.c @@ -97,9 +97,9 @@ int OutputRegisterFileLogger(LoggerId id, const char *name, FileLogger LogFunc, static void CloseFile(const Packet *p, Flow *f, File *file) { DEBUG_VALIDATE_BUG_ON((file->flags & FILE_LOGGED) != 0); - void *txv = AppLayerParserGetTx(p->proto, f->alproto, f->alstate, file->txid); + void *txv = AppLayerParserGetTx(f->proto, f->alproto, f->alstate, file->txid); if (txv) { - AppLayerTxData *txd = AppLayerParserGetTxData(p->proto, f->alproto, txv); + AppLayerTxData *txd = AppLayerParserGetTxData(f->proto, f->alproto, txv); if (txd) { txd->files_logged++; DEBUG_VALIDATE_BUG_ON(txd->files_logged > txd->files_opened); diff --git a/src/output-filedata.c b/src/output-filedata.c index 2b09fe311473..2dea84817fe9 100644 --- a/src/output-filedata.c +++ b/src/output-filedata.c @@ -125,9 +125,9 @@ static int CallLoggers(ThreadVars *tv, OutputLoggerThreadStore *store_list, static void CloseFile(const Packet *p, Flow *f, File *file) { - void *txv = AppLayerParserGetTx(p->proto, f->alproto, f->alstate, file->txid); + void *txv = AppLayerParserGetTx(f->proto, f->alproto, f->alstate, file->txid); if (txv) { - AppLayerTxData *txd = AppLayerParserGetTxData(p->proto, f->alproto, txv); + AppLayerTxData *txd = AppLayerParserGetTxData(f->proto, f->alproto, txv); if (txd) txd->files_stored++; }