From 2c13d9fb0da0ec513e577c2589ec545df665326e Mon Sep 17 00:00:00 2001 From: "Barton E. Schaefer" Date: Sat, 14 Feb 2015 10:43:10 -0800 Subject: 34543: Prevent crash on garbage bytes inside $(...) Garbage input (nul bytes, etc.) can cause the $(...) parser to become confused during look-ahead and attempt to back up the input too far. This commit catches the error but does not fix the underlying cause. --- Src/input.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Src/input.c') diff --git a/Src/input.c b/Src/input.c index 2ecac7bdc..9520fdd6d 100644 --- a/Src/input.c +++ b/Src/input.c @@ -393,12 +393,14 @@ inungetc(int c) if (((inbufflags & INP_LINENO) || !strin) && c == '\n') lineno--; } -#ifdef DEBUG else if (!(inbufflags & INP_CONT)) { +#ifdef DEBUG /* Just for debugging */ fprintf(stderr, "Attempt to inungetc() at start of input.\n"); - } #endif + zerr("Garbled input at %c (binary file as commands?)", c); + return; + } else { /* * The character is being backed up from a previous input stack -- cgit 1.4.1