diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index 41040ce25b..3131f9ebb9 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -271,8 +271,11 @@ _load_file(const char *file) if (!f) return NULL; while ((size = fread(buf, 1, sizeof(buf), f))) { + char *tmp_text; buf[size] = 0; - text = _buf_append(text, buf, &len, &alloc); + tmp_text = _buf_append(text, buf, &len, &alloc); + if (!tmp_text) break; + text = tmp_text; } fclose(f); return text;