diff options
author | Michele Campus <fci1908@gmail.com> | 2017-09-24 15:16:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-24 15:16:23 +0200 |
commit | 8939a72ea866d7a3aeaa86346a08f73b48d3ac4f (patch) | |
tree | 6dd8a877baff9fd36fc0ce92bb028f9b580078d0 | |
parent | 8cc2b04f3cd08273b33b608c4eded26534385f3a (diff) | |
parent | baae16ec2f1ff280f84fc3e8f87ac910dd08ed81 (diff) |
Merge pull request #450 from beratx/dev
fixed memory leak
-rw-r--r-- | example/ndpiReader.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c index 218f251c3..37423bc62 100644 --- a/example/ndpiReader.c +++ b/example/ndpiReader.c @@ -945,20 +945,13 @@ int updateIpTree(const char *key, addr_node **vrootp, const char *proto) { /* *********************************************** */ void freeIpTree(addr_node *root) { - while (root != NULL) { - addr_node *left = root->left; + if (root == NULL) + return; - if(left == NULL) { - addr_node *right = root->right; - root->right = NULL; - root = right; - } else { - /* Rotate the left child up.*/ - root->left = left->right; - left->right = root; - root = left; - } - } + freeIpTree(root->left); + freeIpTree(root->right); + free(root); + root = NULL; } /* *********************************************** */ @@ -1077,7 +1070,6 @@ static void deletePortsStats(struct port_stats *stats) { HASH_ITER(hh, stats, current_port, tmp) { HASH_DEL(stats, current_port); freeIpTree(current_port->addr_tree); - free(current_port->addr_tree); free(current_port); } } |