elm_code: Fix use after free
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 17 May 2017 06:13:10 +0000 (15:13 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 17 May 2017 06:32:03 +0000 (15:32 +0900)
src/lib/elementary/elm_code_widget.c

index d40271d..e53f93b 100644 (file)
@@ -1377,11 +1377,11 @@ _elm_code_widget_newline(Elm_Code_Widget *widget)
      strlen(leading));
    elm_obj_code_widget_cursor_position_set(widget, row + 1, indent);
    efl_event_callback_legacy_call(widget, ELM_OBJ_CODE_WIDGET_EVENT_CHANGED_USER, NULL);
-   free(leading);
 
    textlen = strlen(leading) + 2;
    text = malloc(sizeof(char) * textlen);
    snprintf(text, textlen, "\n%s", leading);
+   free(leading);
 
    change = _elm_code_widget_change_create(width + 1, row, indent - 1, row + 1, text, strlen(text), EINA_TRUE);
    _elm_code_widget_undo_change_add(widget, change);