packages: nvram: fix memory leak in _nvram_free

The value of nvram_tuple_t is allocated in _nvram_realloc,
but it is not freed in _nvram_free.

Signed-off-by: Zhai Zhaoxuan <zhaizhaoxuan@xiaomi.com>
(cherry picked from commit c382237ac3)
This commit is contained in:
Zhai Zhaoxuan 2017-07-11 18:12:00 +08:00 committed by Jo-Philipp Wich
parent 0f175041ad
commit 0625814426
1 changed files with 4 additions and 0 deletions

View File

@ -47,6 +47,8 @@ static void _nvram_free(nvram_handle_t *h)
for (i = 0; i < NVRAM_ARRAYSIZE(h->nvram_hash); i++) {
for (t = h->nvram_hash[i]; t; t = next) {
next = t->next;
if (t->value)
free(t->value);
free(t);
}
h->nvram_hash[i] = NULL;
@ -55,6 +57,8 @@ static void _nvram_free(nvram_handle_t *h)
/* Free dead table */
for (t = h->nvram_dead; t; t = next) {
next = t->next;
if (t->value)
free(t->value);
free(t);
}