Sophie

Sophie

distrib > Mageia > cauldron > x86_64 > media > core-release-src > by-pkgid > d50eb2abfdd841cde596ad8f138434cd > files > 1

tcpreplay-4.4.4-2.mga10.src.rpm

From 55ad9d1d701e644ed5b8821456e31acf2e72920c Mon Sep 17 00:00:00 2001
From: Gabriel Ganne <gabriel.ganne@gmail.com>
Date: Sun, 28 Jan 2024 10:02:30 +0100
Subject: [PATCH] allow recursice call to tcpedit_dlt_cleanup()

This is just a quick hack to prevent a double-free should
tcpedit_dlt_cleanup() call itself, which can hapen through dlt_jnpr_ether_cleanup()

Ref: #813
---
 src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c b/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c
index c53ec297..4d26095c 100644
--- a/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c
+++ b/src/tcpedit/plugins/dlt_jnpr_ether/jnpr_ether.c
@@ -164,8 +164,10 @@ dlt_jnpr_ether_cleanup(tcpeditdlt_t *ctx)
         jnpr_ether_config_t *config;
 
         config = (jnpr_ether_config_t *)ctx->encoder->config;
-        if (config->subctx != NULL)
+        if (config->subctx != NULL) {
+            ctx->decoded_extra = NULL;
             tcpedit_dlt_cleanup(config->subctx);
+        }
         safe_free(plugin->config);
         plugin->config = NULL;
         plugin->config_size = 0;