From db4429471393297d46bb81492b2a480ca2c7ac4c Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Wed, 18 Dec 2019 15:50:27 -0500 Subject: Bail from hi if input is binary NULs in the input cause an infinite loop in htmlEscape, not to mention regexes obviously not working, etc. --- bin/hi.c | 1 + 1 file changed, 1 insertion(+) (limited to 'bin/hi.c') diff --git a/bin/hi.c b/bin/hi.c index c8533e55..4021d1bc 100644 --- a/bin/hi.c +++ b/bin/hi.c @@ -739,6 +739,7 @@ int main(int argc, char *argv[]) { if (!str) err(EX_OSERR, "realloc"); } if (ferror(file)) err(EX_IOERR, "fread"); + if (memchr(str, 0, len)) errx(EX_DATAERR, "input is binary"); str[len] = '\0'; enum Class *hi = calloc(len, sizeof(*hi)); -- cgit 1.4.1