diff --git a/contrib/libedit/map.c b/contrib/libedit/map.c index e45b819c0be0..6e08d647a980 100644 --- a/contrib/libedit/map.c +++ b/contrib/libedit/map.c @@ -962,12 +962,12 @@ map_end(EditLine *el) el->el_map.emacs = NULL; el->el_map.vic = NULL; el->el_map.vii = NULL; - el_free(el->el_map.help); - el->el_map.help = NULL; for (size_t nf = EL_NUM_FCNS; nf < el->el_map.nfunc; nf++) { el_free((void *)(intptr_t)el->el_map.help[nf].name); el_free((void *)(intptr_t)el->el_map.help[nf].description); } + el_free(el->el_map.help); + el->el_map.help = NULL; el_free(el->el_map.func); el->el_map.func = NULL; }