From 46ab8f3cb6fdf3d2f34fe40352c012460eaad57e Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sat, 21 Aug 2021 21:59:34 +0200 Subject: [PATCH] fix endless loop in the quoted-string parsing --- src/util/parser.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/util/parser.c b/src/util/parser.c index 36a4b1565..fe58ad768 100644 --- a/src/util/parser.c +++ b/src/util/parser.c @@ -195,18 +195,18 @@ char *parse_token(const char **str, char *lbuf, size_t buflen) } else if (utf8_character == '"' || utf8_character == '\'') { if (utf8_character == quotechar) { - ++ctoken; + quotechar = 0; break; } else if (quotechar == 0 && cstart == ctoken) { quotechar = utf8_character; - ++ctoken; } else { if (cursor - buflen < lbuf - len) { - *cursor++ = *ctoken++; + *cursor++ = *ctoken; } } + ++ctoken; } else if (utf8_character == SPACE_REPLACEMENT) { if (cursor - buflen < lbuf - len) {