ssahani / rpms / dhcp

Forked from rpms/dhcp 5 years ago
Clone
Blob Blame History Raw
diff -up dhcp-4.0.0/common/conflex.c.parse dhcp-4.0.0/common/conflex.c
--- dhcp-4.0.0/common/conflex.c.parse	2008-01-17 09:05:17.000000000 -1000
+++ dhcp-4.0.0/common/conflex.c	2008-01-17 09:06:48.000000000 -1000
@@ -1434,16 +1438,18 @@ read_function (struct parse * cfile)
 {
 	int c;
 
-	cfile -> buflen = read (cfile -> file, cfile -> inbuf, cfile -> bufsiz);
-	if (cfile -> buflen == 0) {
+	ssize_t n = read (cfile -> file, cfile -> inbuf, cfile -> bufsiz);
+	if (n == 0) {
 		c = EOF;
 		cfile -> bufix = 0;
-	} else if (cfile -> buflen < 0) {
+		cfile -> buflen = 0;
+	} else if (n < 0) {
 		c = EOF;
 		cfile -> bufix = cfile -> buflen = 0;
 	} else {
 		c = cfile -> inbuf [0];
 		cfile -> bufix = 1;
+		cfile -> buflen = n;
 	}
 
 	return c;