From 502d03d4f3047bdbe7f223354f851b28e16167fd Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sun, 28 Feb 2016 17:34:45 +0100 Subject: null-terminate line at newline from getline() --- sfeed_frames.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sfeed_frames.c') diff --git a/sfeed_frames.c b/sfeed_frames.c index 8674678..076e864 100644 --- a/sfeed_frames.c +++ b/sfeed_frames.c @@ -104,7 +104,7 @@ printfeed(FILE *fpitems, FILE *fpin, struct feed *f) { char dirpath[PATH_MAX], filepath[PATH_MAX]; char *fields[FieldLast], *feedname, name[128]; - size_t namelen; + ssize_t linelen; struct stat st; FILE *fpcontent = NULL; unsigned int isnew; @@ -138,7 +138,9 @@ printfeed(FILE *fpitems, FILE *fpin, struct feed *f) } fputs("\n", fpitems); - while (getline(&line, &linesize, fpin) > 0) { + while ((linelen = getline(&line, &linesize, fpin)) > 0) { + if (line[linelen - 1] == '\n') + line[--linelen] = '\0'; if (!parseline(line, fields)) break; /* write content */ -- cgit v1.2.3