From 78c4bc4a5b22e715cfc8c9b2b0337d317dc5b940 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 15 Sep 2016 16:25:10 +0200 Subject: [PATCH] (xmb.c) Try to make sure 1st and 2nd arguments for fill_pathname_join are not one and the same --- menu/drivers/xmb.c | 6 ++++-- menu/drivers/zarch.c | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index c09b79f6c9..1de66a7cbd 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -753,6 +753,7 @@ static void xmb_update_thumbnail_path(void *data, unsigned i) settings->directory.thumbnails, xmb->title_name, sizeof(xmb->thumbnail_file_path)); + fill_pathname_join(xmb->thumbnail_file_path, xmb->thumbnail_file_path, xmb_thumbnails_ident(), sizeof(xmb->thumbnail_file_path)); @@ -760,8 +761,9 @@ static void xmb_update_thumbnail_path(void *data, unsigned i) if (tmp) { - fill_pathname_join(xmb->thumbnail_file_path, xmb->thumbnail_file_path, - tmp, sizeof(xmb->thumbnail_file_path)); + char tmp_new[PATH_MAX_LENGTH]; + fill_pathname_join(tmp_new, xmb->thumbnail_file_path, tmp, sizeof(tmp_new)); + strlcpy(xmb->thumbnail_file_path, tmp_new, sizeof(xmb->thumbnail_file_path)); free(tmp); } diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index ebbe6ba753..1de5ca572c 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -512,15 +512,17 @@ static int zarch_zui_render_lay_root_recent(zui_t *zui, struct zui_tabbed *tabbe for (i = zui->recent_dlist_first; i < size; ++i) { - char rich_label[PATH_MAX_LENGTH] = {0}; - menu_entry_t entry = {{0}}; + char rich_label[PATH_MAX_LENGTH] = {0}; + char entry_value[PATH_MAX_LENGTH] = {0}; + menu_entry_t entry = {{0}}; menu_entry_get(&entry, 0, i, NULL, true); menu_entry_get_rich_label(i, rich_label, sizeof(rich_label)); + menu_entry_get_value(i, entry_value,sizeof(entry_value)); if (zarch_zui_list_item(zui, tabbed, 0, tabbed->tabline_size + j * ZUI_ITEM_SIZE_PX, - rich_label, i, entry.value, gamepad_index == (signed)i)) + rich_label, i, entry_value, gamepad_index == (signed)i)) { if (menu_entry_action(&entry, i, MENU_ACTION_OK)) return 1;