aboutsummaryrefslogtreecommitdiff
path: root/example/ndpiReader.c
diff options
context:
space:
mode:
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);
}
}