提交 edb749f4 编写于 作者: B Benjamin Poirier 提交者: Yann E. MORIN

menuconfig: Fix memory leak introduced by jump keys feature

Fixes the memory leak of struct jump_key allocated in get_prompt_str()
Signed-off-by: NBenjamin Poirier <bpoirier@suse.de>
Tested-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: stable@vger.kernel.org
上级 a45c7dfb
......@@ -50,6 +50,19 @@ struct list_head {
&pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member))
/**
* list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
* @pos: the type * to use as a loop cursor.
* @n: another type * to use as temporary storage
* @head: the head for your list.
* @member: the name of the list_struct within the struct.
*/
#define list_for_each_entry_safe(pos, n, head, member) \
for (pos = list_entry((head)->next, typeof(*pos), member), \
n = list_entry(pos->member.next, typeof(*pos), member); \
&pos->member != (head); \
pos = n, n = list_entry(n->member.next, typeof(*n), member))
/**
* list_empty - tests whether a list is empty
* @head: the list to test.
......
......@@ -389,6 +389,7 @@ static void search_conf(void)
.targets = targets,
.keys = keys,
};
struct jump_key *pos, *tmp;
res = get_relations_str(sym_arr, &head);
dres = show_textbox_ext(_("Search Results"), (char *)
......@@ -402,6 +403,8 @@ static void search_conf(void)
again = true;
}
str_free(&res);
list_for_each_entry_safe(pos, tmp, &head, entries)
free(pos);
} while (again);
free(sym_arr);
str_free(&title);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册