ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ddb189bb1f1f9eda7cdd2b2cb86da3c702a3db8c
commit ddb189bb1f1f9eda7cdd2b2cb86da3c702a3db8c Author: Andy Williams <[email protected]> Date: Wed Apr 5 23:59:23 2017 +0100 elm_code: Fix crashes with backspace on OpenBSD @fix --- src/lib/elementary/elm_code_line.c | 6 ++++-- src/lib/elementary/elm_code_widget_text.c | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/elm_code_line.c b/src/lib/elementary/elm_code_line.c index 44b5d1b..e27cb5d 100644 --- a/src/lib/elementary/elm_code_line.c +++ b/src/lib/elementary/elm_code_line.c @@ -96,8 +96,10 @@ _elm_code_line_merge_into(Elm_Code_Line *line1, Elm_Code_Line *line2) text2 = elm_code_line_text_get(line2, &length2); newtext = malloc(sizeof(char) * (length1 + length2 + 1)); - snprintf(newtext, length1 + 1, "%s", text1); - snprintf(newtext + length1, length2 + 1, "%s", text2); + if (length1 > 0) + snprintf(newtext, length1 + 1, "%s", text1); + if (length2 > 0) + snprintf(newtext + length1, length2 + 1, "%s", text2); tokens1 = line1->tokens; line1->tokens = NULL; diff --git a/src/lib/elementary/elm_code_widget_text.c b/src/lib/elementary/elm_code_widget_text.c index 23faca4..1b1b9cb 100644 --- a/src/lib/elementary/elm_code_widget_text.c +++ b/src/lib/elementary/elm_code_widget_text.c @@ -74,8 +74,8 @@ _elm_code_widget_text_multi_get(Elm_Code_Widget *widget, Elm_Code_Widget_Data *p for (row = start_line + 1; row < end_line; row++) { line = elm_code_file_line_get(pd->code->file, row); - snprintf(ptr, line->length + 1, "%s", - elm_code_line_text_get(line, NULL)); + if (line->length > 0) + snprintf(ptr, line->length + 1, "%s", elm_code_line_text_get(line, NULL)); snprintf(ptr + line->length, newline_len + 1, "%s", newline); ptr += line->length + newline_len; --
