The read_file function is rather complex and cluttered with different
functionality. One of it is to provide a line_ptr of a single line to the
caller. The caller trusts the return code for a SUCCESS of this function
and tries to access the line_ptr. But a failed getline may lead to an
NULL-line_ptr. The caller tries to dereference this NULL pointer and
causes an segfault.

Signed-off-by: Sven Eckelmann <[email protected]>
---
 functions.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/functions.c b/functions.c
index 84f0d14..251e616 100644
--- a/functions.c
+++ b/functions.c
@@ -320,7 +320,8 @@ written:
                goto open;
        }
 
-       res = EXIT_SUCCESS;
+       if (line_ptr)
+               res = EXIT_SUCCESS;
 
 out:
        if (fp)
-- 
2.0.0.rc2

Reply via email to