Blob Blame History Raw
diff -up file-5.04/src/softmagic.c.segfault file-5.04/src/softmagic.c
--- file-5.04/src/softmagic.c.segfault	2009-10-19 15:10:20.000000000 +0200
+++ file-5.04/src/softmagic.c	2010-01-28 15:28:20.000000000 +0100
@@ -946,6 +946,7 @@ mcopy(struct magic_set *ms, union VALUET
 			end = last = (const char *)s + nbytes;
 			/* mget() guarantees buf <= last */
 			for (lines = linecnt, b = buf; lines &&
+			     b < end && c < end &&
 			     ((b = CAST(const char *,
 				 memchr(c = b, '\n', CAST(size_t, (end - b)))))
 			     || (b = CAST(const char *,