aboutsummaryrefslogtreecommitdiff
path: root/example/ndpiReader.c
diff options
context:
space:
mode:
authorMichele Campus <fci1908@gmail.com>2017-09-24 15:16:23 +0200
committerGitHub <noreply@github.com>2017-09-24 15:16:23 +0200
commit8939a72ea866d7a3aeaa86346a08f73b48d3ac4f (patch)
tree6dd8a877baff9fd36fc0ce92bb028f9b580078d0 /example/ndpiReader.c
parent8cc2b04f3cd08273b33b608c4eded26534385f3a (diff)
parentbaae16ec2f1ff280f84fc3e8f87ac910dd08ed81 (diff)
Merge pull request #450 from beratx/dev
fixed memory leak
Diffstat (limited to 'example/ndpiReader.c')
-rw-r--r--example/ndpiReader.c20
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);
}
}