openwrt-packages/net/tcpreplay/patches/010-CVE-2023-4256.patch

28 lines
1.0 KiB
Diff

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(-)
--- 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;