[PATCH 3/3] libfshelp: properly free active translator entries
Previously the dynamically allocated field name leaks. Fix this by
properly freeing the objects of type struct translator.
* libfshelp/translator-list.c (translator_ihash_cleanup): Fix memory leak.
---
libfshelp/translator-list.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libfshelp/translator-list.c b/libfshelp/translator-list.c
index 99a858f..87dcb21 100644
--- a/libfshelp/translator-list.c
+++ b/libfshelp/translator-list.c
@@ -47,9 +47,12 @@ static pthread_mutex_t translator_ihash_lock = PTHREAD_MUTEX_INITIALIZER;
static void
translator_ihash_cleanup (void *element, void *arg)
{
+ struct translator *translator = element;
+
/* No need to deallocate port, we only keep the name of the
port, not a reference. */
- free (element);
+ free (translator->name);
+ free (translator);
}
/* Record an active translator being bound to the given file name
--
1.7.10.4
Reply to: