diff --git a/menu/menu_entries_cbs_deferred_push.c b/menu/menu_entries_cbs_deferred_push.c index c3219f2ea5..bb3d39061c 100644 --- a/menu/menu_entries_cbs_deferred_push.c +++ b/menu/menu_entries_cbs_deferred_push.c @@ -1563,6 +1563,9 @@ int cb_core_updater_list(void *data_, size_t len) if (!data) return -1; + if (core_buf) + free(core_buf); + core_buf = (char*)malloc(len * sizeof(char)); if (!core_buf) @@ -1584,9 +1587,6 @@ static int deferred_push_core_updater_list(void *data, void *userdata, print_buf_lines(list, core_buf, core_len, MENU_FILE_DOWNLOAD_CORE); - if (core_buf) - free(core_buf); - menu_list_populate_generic(list, path, label, type); return 0;