From 9084805bbfd9ba6824577a2f61371e8fdd2e71f9 Mon Sep 17 00:00:00 2001 From: henri Date: Mon, 22 Apr 2013 19:29:26 +0000 Subject: [PATCH] Added destructor for proxy_chain_context. --- nsock/src/nsock_iod.c | 3 +++ nsock/src/nsock_proxy.c | 4 ++++ nsock/src/nsock_proxy.h | 2 ++ 3 files changed, 9 insertions(+) diff --git a/nsock/src/nsock_iod.c b/nsock/src/nsock_iod.c index 31904e91c..6c84bf696 100644 --- a/nsock/src/nsock_iod.c +++ b/nsock/src/nsock_iod.c @@ -281,6 +281,9 @@ void nsi_delete(nsock_iod nsockiod, int pending_response) { nsi->pcap = NULL; } #endif + + if (nsi->px_ctx) + proxy_chain_context_delete(nsi->px_ctx); } /* Returns the ID of an nsock_iod . This ID is always unique amongst ids for a diff --git a/nsock/src/nsock_proxy.c b/nsock/src/nsock_proxy.c index 77c5eac76..9bc57ad76 100644 --- a/nsock/src/nsock_proxy.c +++ b/nsock/src/nsock_proxy.c @@ -175,6 +175,10 @@ struct proxy_chain_context *proxy_chain_context_new(nsock_pool nspool) { return ctx; } +void proxy_chain_context_delete(struct proxy_chain_context *ctx) { + if (ctx) + free(ctx); +} struct proxy_parser *proxy_parser_new(const char *proxychainstr) { struct proxy_parser *parser; diff --git a/nsock/src/nsock_proxy.h b/nsock/src/nsock_proxy.h index 17540a20a..09dfc9462 100644 --- a/nsock/src/nsock_proxy.h +++ b/nsock/src/nsock_proxy.h @@ -88,6 +88,7 @@ enum nsock_proxy_state { /* ------------------- STRUCTURES ------------------- */ + struct proxy_node { enum nsock_proxy_type px_type; @@ -127,6 +128,7 @@ struct proxy_actions { void nsock_proxy_ev_handler(nsock_pool nspool, nsock_event nsevent, void *udata); struct proxy_chain_context *proxy_chain_context_new(nsock_pool nspool); +void proxy_chain_context_delete(struct proxy_chain_context *ctx); #endif /* NSOCK_PROXY_H */