Blame SOURCES/fapolicyd-get-line.patch

037a42
From 84916944b481d5c478202f6c4239e4aed0731406 Mon Sep 17 00:00:00 2001
037a42
From: Steve Grubb <sgrubb@redhat.com>
037a42
Date: Tue, 2 Jun 2020 17:27:58 -0400
037a42
Subject: [PATCH] Return only valid lines
037a42
037a42
If fapolicyd_get_line does not find a 0x0A, then we have an unterminated
037a42
string because its too long. Only return terminated strings, otherwise
037a42
pass NULL back.
037a42
---
037a42
 src/library/string-util.c | 7 ++++---
037a42
 1 file changed, 4 insertions(+), 3 deletions(-)
037a42
037a42
diff --git a/src/library/string-util.c b/src/library/string-util.c
037a42
index f991f5f..ffdc645 100644
037a42
--- a/src/library/string-util.c
037a42
+++ b/src/library/string-util.c
037a42
@@ -53,15 +53,16 @@ char * fapolicyd_strtrim(char * s)
037a42
 	return s;
037a42
 }
037a42
 
037a42
-char * fapolicyd_get_line(FILE *f, char *buf)
037a42
+char *fapolicyd_get_line(FILE *f, char *buf)
037a42
 {
037a42
 	if (fgets_unlocked(buf, BUFFER_MAX-1, f)) {
037a42
 
037a42
 		/* remove newline */
037a42
 		char *ptr = strchr(buf, 0x0a);
037a42
-		if (ptr)
037a42
+		if (ptr) {
037a42
 			*ptr = 0;
037a42
-		return buf;
037a42
+			return buf;
037a42
+		}
037a42
 	}
037a42
 
037a42
 	return NULL;