jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5eca781a3bbafa39ae45825bd017418bf7c5c6ef
commit 5eca781a3bbafa39ae45825bd017418bf7c5c6ef Author: Subhransu Mohanty <[email protected]> Date: Thu Jun 16 15:28:07 2016 +0900 edje_cc_out : fix possible buffer overrun Reviewers: cedric, jpeg Reviewed By: jpeg Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4044 --- src/bin/edje/edje_cc_out.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index eb708d9..f3116ac 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -1240,15 +1240,14 @@ data_write_vectors(Eet_File *ef, int *vector_num) Eet_Data_Descriptor *svg_node_eet; Eina_List *ll; char *s; - char buf[PATH_MAX]; - char id_str[15]; Eina_File *f = NULL; Edje_Vector_Directory_Entry *vector; + Eina_Strbuf *buf; if (!((edje_file) && (edje_file->image_dir))) return; svg_node_eet = _edje_svg_node_eet(); - + buf = eina_strbuf_new(); for (i = 0; i < edje_file->image_dir->vectors_count; i++) { if (!beta) @@ -1257,17 +1256,21 @@ data_write_vectors(Eet_File *ef, int *vector_num) vector = &edje_file->image_dir->vectors[i]; EINA_LIST_FOREACH(img_dirs, ll, s) { - snprintf(buf, sizeof(buf), "%s/%s", s, vector->entry); - f = eina_file_open(buf, EINA_FALSE); + eina_strbuf_reset(buf); + eina_strbuf_append_printf(buf, "%s/%s", s, vector->entry); + f = eina_file_open(eina_strbuf_string_get(buf), EINA_FALSE); if (!f) continue; root = _svg_load(f, NULL); - snprintf(id_str, sizeof(id_str), "edje/vectors/%i", vector->id); - eet_data_write(ef, svg_node_eet, id_str, root, compress_mode); + eina_strbuf_reset(buf); + eina_strbuf_append_printf(buf, "edje/vectors/%i", vector->id); + eet_data_write(ef, svg_node_eet, eina_strbuf_string_get(buf), root, compress_mode); *vector_num += 1; eina_file_close(f); break; } } + eina_strbuf_free(buf); + } static void --
