From 5a7bce1f14ac3daecb295a2b0aa6c94d8a485921 Mon Sep 17 00:00:00 2001 From: pommicket Date: Sat, 13 Sep 2025 23:10:37 -0400 Subject: Ensure no stray characters after closing quote --- pom.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pom.c b/pom.c index abeff17..d0d8406 100644 --- a/pom.c +++ b/pom.c @@ -679,8 +679,16 @@ parse_quoted_value(struct parser *parser, const char *first_line) { while (!parser->eof && !parser->out_of_memory) { char c; while ((c = *line++)) { - if (c == delimiter) + if (c == delimiter) { + while ((c = *line++)) { + if (c != ' ' && c != '\t') { + parser_error(parser, + "Stray characters after closing %c", + delimiter); + } + } goto finish; + } if (c == '\\') { parse_escape_sequence(parser, &line); } else { @@ -688,9 +696,7 @@ parse_quoted_value(struct parser *parser, const char *first_line) { } } parser_read_line(parser); - char *newline = parser_append_one(parser, string_data); - if (!newline) return; - *newline = '\n'; + parser_append_char(parser, '\n'); line = parser->line.array; } finish:; -- cgit v1.2.3