diff --git a/src/tcpedit/plugins/dlt_plugins.c b/src/tcpedit/plugins/dlt_plugins.c index 51585378..6b3be880 100644 --- a/src/tcpedit/plugins/dlt_plugins.c +++ b/src/tcpedit/plugins/dlt_plugins.c @@ -442,16 +442,18 @@ void tcpedit_dlt_cleanup(tcpeditdlt_t *ctx) { tcpeditdlt_plugin_t *plugin; + tcpeditdlt_plugin_t *plugin_orig; assert(ctx); - plugin = ctx->plugins; + plugin_orig = plugin = ctx->plugins; + ctx->plugins = NULL; while (plugin != NULL) { plugin->plugin_cleanup(ctx); plugin = plugin->next; } - plugin = ctx->plugins; + plugin = plugin_orig;; while (plugin != NULL) { tcpeditdlt_plugin_t *plugin_next = plugin->next; safe_free(plugin);