[ovs-dev] [leaks 6/7] classifier: Fix theoretical leak in classifier_destroy().
Ben Pfaff
blp at nicira.com
Wed Dec 26 20:38:47 UTC 2012
The open-coded version of destroy_table() in classifier_destroy() didn't
free the table's minimatch. Use destroy_table() to do it properly.
This is only a theoretical leak because all the existing callers actually
remove all the rules from their classifiers before they destroy them
(outside of the tests/ directory, which I didn't examine) and so they don't
ever have anything left to remove in classifier_destroy().
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
lib/classifier.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/lib/classifier.c b/lib/classifier.c
index e5d226e..d1fe524 100644
--- a/lib/classifier.c
+++ b/lib/classifier.c
@@ -146,9 +146,7 @@ classifier_destroy(struct classifier *cls)
struct cls_table *table, *next_table;
HMAP_FOR_EACH_SAFE (table, next_table, hmap_node, &cls->tables) {
- hmap_destroy(&table->rules);
- hmap_remove(&cls->tables, &table->hmap_node);
- free(table);
+ destroy_table(cls, table);
}
hmap_destroy(&cls->tables);
}
--
1.7.2.5
More information about the dev
mailing list