From: Richard Russon Date: Thu, 22 Aug 2019 15:53:00 +0000 (+0100) Subject: fix: memory leak in parse_menu() X-Git-Tag: 2019-10-25~84 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe9a3bd46a5cf3e51553ff044df2e1b33acaa0c8;p=neomutt fix: memory leak in parse_menu() --- diff --git a/keymap.c b/keymap.c index b88b9b62a..361143c42 100644 --- a/keymap.c +++ b/keymap.c @@ -1328,16 +1328,16 @@ enum CommandResult mutt_parse_bind(struct Buffer *buf, struct Buffer *s, static void *parse_menu(int *menu, char *s, struct Buffer *err) { char *menu_names_dup = mutt_str_strdup(s); + char *marker = menu_names_dup; char *menu_name = NULL; - while ((menu_name = strsep(&menu_names_dup, ","))) + while ((menu_name = strsep(&marker, ","))) { int value = mutt_map_get_value(menu_name, Menus); if (value == -1) { mutt_buffer_printf(err, _("%s: no such menu"), menu_name); - FREE(&menu_names_dup); - return NULL; + break; } else menu[value] = true;