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;

-- 


Reply via email to