From 02a972a2d7bb0ef22ad0eeb078e5a98c3ec06b0c Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Thu, 15 Oct 2015 17:32:58 +0200 Subject: [PATCH] Closed a memory leak during retrieval of xattr. --- libisofs/node.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libisofs/node.c b/libisofs/node.c index b8ca5d1..a955038 100644 --- a/libisofs/node.c +++ b/libisofs/node.c @@ -1609,11 +1609,17 @@ int attrs_cleanout_name(char *del_name, size_t *num_attrs, char **names, size_t i, w; for (w = i = 0; i < *num_attrs; i++) { - if ((strcmp(names[i], del_name) == 0) ^ (flag & 1)) - continue; + if ((strcmp(names[i], del_name) == 0) ^ (flag & 1)) { + if (names[i] != NULL) + free(names[i]); + if (values[i] != NULL) + free(values[i]); + names[i] = values[i] = NULL; + continue; + } if (w == i) { w++; - continue; + continue; } names[w] = names[i]; value_lengths[w] = value_lengths[i];