rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=035f2f7308b81308e986d55a5c127c3ff41fd998
commit 035f2f7308b81308e986d55a5c127c3ff41fd998 Author: Vyacheslav Reutskiy <[email protected]> Date: Tue Sep 6 16:03:24 2016 +0300 project manager: sanitize input paths Change-Id: Ie8d2c5147dbef9ba24f998e9249bf41ebd86c876 --- src/bin/project_manager/project_manager.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/bin/project_manager/project_manager.c b/src/bin/project_manager/project_manager.c index ddc0cf2..0db705f 100644 --- a/src/bin/project_manager/project_manager.c +++ b/src/bin/project_manager/project_manager.c @@ -458,6 +458,9 @@ pm_project_import_edj(const char *name, assert(path != NULL); assert(edj != NULL); + char *spath = eina_file_path_sanitize(path); + char *sedj = eina_file_path_sanitize(edj); + Project_Thread *ptd; ptd = mem_calloc(1, sizeof(Project_Thread)); ptd->func_progress = func_progress; @@ -465,11 +468,13 @@ pm_project_import_edj(const char *name, ptd->data = (void *)data; ptd->result = PM_PROJECT_LAST; ptd->name = eina_stringshare_add(name); - ptd->path = eina_stringshare_add(path); - ptd->edj = eina_stringshare_add(edj); + ptd->path = eina_stringshare_add(spath); + ptd->edj = eina_stringshare_add(sedj); ptd->widgets = list; _project_import_edj(ptd); + free(spath); + free(sedj); } @@ -486,6 +491,9 @@ pm_project_import_edc(const char *name, assert(path != NULL); assert(edc != NULL); + char *spath = eina_file_path_sanitize(path); + char *sedc = eina_file_path_sanitize(edc); + Project_Thread *ptd; ptd = mem_calloc(1, sizeof(Project_Thread)); ptd->func_progress = func_progress; @@ -493,11 +501,13 @@ pm_project_import_edc(const char *name, ptd->data = (void *)data; ptd->result = PM_PROJECT_LAST; ptd->name = eina_stringshare_add(name); - ptd->path = eina_stringshare_add(path); - ptd->edc = eina_stringshare_add(edc); + ptd->path = eina_stringshare_add(spath); + ptd->edc = eina_stringshare_add(sedc); ptd->build_options = eina_stringshare_add(import_options); _project_import_edc(ptd); + free(spath); + free(sedc); } Eina_Bool @@ -516,9 +526,11 @@ pm_project_open(const char *path, { assert(path != NULL); + char *spath = eina_file_path_sanitize(path); + Project_Thread *ptd; ptd = mem_calloc(1, sizeof(Project_Thread)); - ptd->path = eina_stringshare_add(path); + ptd->path = eina_stringshare_add(spath); ptd->func_progress = func_progress; ptd->func_end = func_end; ptd->data = (void *)data; @@ -528,6 +540,8 @@ pm_project_open(const char *path, ecore_thread_feedback_run(_project_open_feedback_job, _project_open_feedback_cb, _project_open_end_cb, _project_open_cancel_cb, ptd, true); + + free(spath); } void --
