From a95dc485fa060a57916a091b6990db0b76f4bdab Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sun, 9 Sep 2012 20:06:03 +0000 Subject: Break out of an infinite loop if we're not making progress. --- read.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'read.c') diff --git a/read.c b/read.c index 7f6939e..8478c8d 100644 --- a/read.c +++ b/read.c @@ -3087,6 +3087,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, const char *e = p; do { + const char *o = e; e = next_token (e); /* Find the end of this word. We don't want to unquote and we don't care about quoting since we're looking for the @@ -3094,6 +3095,9 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, while (*e != '\0' && *e != stopchar && *e != VMS_COMMA && ! isblank ((unsigned char) *e)) ++e; + /* If we didn't move, we're done now. */ + if (e == o) + break; if (e[-1] == ')') { /* Found the end, so this is the first element in an -- cgit v1.2.3