summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-01-25 11:29:55 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-02-02 13:38:29 -0500
commit820a70e71d8386a14dc6dc5f2c46f02f31f36744 (patch)
tree48d4ef373eeac7a80f7b0b5f783c987283728b84
parent3fbdc847ab7f0ab7cb9612521c631f9b97981c71 (diff)
do not shortcut access of Efreet_Desktop->x hash in fileman
this subverts thread safety and also (now) avoids return data validation fix T3096
-rw-r--r--src/modules/fileman/e_fwin.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c
index 5087cddfd..f6cf55f67 100644
--- a/src/modules/fileman/e_fwin.c
+++ b/src/modules/fileman/e_fwin.c
@@ -1147,7 +1147,7 @@ _e_fwin_custom_file_path_eval(E_Fwin *fwin,
1147 const char *res, *ret = NULL; 1147 const char *res, *ret = NULL;
1148 1148
1149 /* get a X-something custom tage from the .desktop for the dir */ 1149 /* get a X-something custom tage from the .desktop for the dir */
1150 res = eina_hash_find(ef->x, key); 1150 res = efreet_desktop_x_field_get(ef, key);
1151 /* free the old path */ 1151 /* free the old path */
1152 if (prev_path) eina_stringshare_del(prev_path); 1152 if (prev_path) eina_stringshare_del(prev_path);
1153 /* if there was no key found - return NULL */ 1153 /* if there was no key found - return NULL */
@@ -1155,14 +1155,12 @@ _e_fwin_custom_file_path_eval(E_Fwin *fwin,
1155 1155
1156 /* it's a full path */ 1156 /* it's a full path */
1157 if (res[0] == '/') 1157 if (res[0] == '/')
1158 ret = eina_stringshare_add(res); 1158 return res;
1159 /* relative path to the dir */ 1159 /* relative path to the dir */
1160 else 1160 snprintf(buf, sizeof(buf), "%s/%s",
1161 { 1161 e_fm2_real_path_get(fwin->cur_page->fm_obj), res);
1162 snprintf(buf, sizeof(buf), "%s/%s", 1162 ret = eina_stringshare_add(buf);
1163 e_fm2_real_path_get(fwin->cur_page->fm_obj), res); 1163 eina_stringshare_del(res);
1164 ret = eina_stringshare_add(buf);
1165 }
1166 return ret; 1164 return ret;
1167} 1165}
1168 1166