hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=ce3b32741da06d7ca29ff201d426871c4f5e0dd1
commit ce3b32741da06d7ca29ff201d426871c4f5e0dd1 Author: Hermet Park <her...@hermet.pe.kr> Date: Mon Mar 7 22:53:51 2016 +0900 edc_editor: free string memory after use them. --- src/lib/edc_editor.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c index 151f19c..35c4ef4 100644 --- a/src/lib/edc_editor.c +++ b/src/lib/edc_editor.c @@ -182,12 +182,17 @@ error_highlight(edit_data *ed, Evas_Object *tb) { Evas_Textblock_Cursor *cur1 = evas_object_textblock_cursor_new(tb); error_line_num_highlight(ed); + char *p; if (ed->error_line != -1) { evas_textblock_cursor_line_set(cur1, ed->error_line); evas_textblock_cursor_line_char_first(cur1); - while(evas_textblock_cursor_content_get(cur1)[0] == ' ') - evas_textblock_cursor_char_next(cur1); + while((p = evas_textblock_cursor_content_get(cur1)) && (*p == ' ')) + { + evas_textblock_cursor_char_next(cur1); + free(p); + } + free(p); evas_object_textblock_text_markup_prepend(cur1, "<error>"); evas_textblock_cursor_line_char_last(cur1); evas_object_textblock_text_markup_prepend(cur1, "</error>"); @@ -203,8 +208,12 @@ error_highlight(edit_data *ed, Evas_Object *tb) break; } evas_textblock_cursor_paragraph_char_first(cur1); - while(evas_textblock_cursor_content_get(cur1)[0] == ' ') - evas_textblock_cursor_char_next(cur1); + while((p = evas_textblock_cursor_content_get(cur1)) && (*p == ' ')) + { + evas_textblock_cursor_char_next(cur1); + free(p); + } + free(p); evas_object_textblock_text_markup_prepend(cur1, "<error>"); evas_textblock_cursor_paragraph_char_last(cur1); evas_object_textblock_text_markup_prepend(cur1, "</error>"); @@ -477,7 +486,7 @@ ctxpopup_candidate_dismiss_cb(void *data, Evas_Object *obj, elm_entry_cursor_line_end_set(ed->en_edit); int end_pos = elm_entry_cursor_pos_get(ed->en_edit); int i = 0; - char *ch; + char *ch = NULL; for (i = cur_pos; i <= end_pos; i++) { @@ -486,8 +495,10 @@ ctxpopup_candidate_dismiss_cb(void *data, Evas_Object *obj, if (*ch == ';') { elm_entry_cursor_pos_set(ed->en_edit, i + 1); + free(ch); break; } + free(ch); } evas_object_del(obj); --