diff -Naur a/xmllint.c b/xmllint.c --- a/xmllint.c 2024-08-05 15:16:19.271124192 +0800 +++ b/xmllint.c 2024-08-05 15:20:00.325968893 +0800 @@ -602,7 +602,7 @@ len = strlen(buffer); snprintf(&buffer[len], sizeof(buffer) - len, "\n"); cur = input->cur; - while ((*cur == '\n') || (*cur == '\r')) + while ((cur > base) && ((*cur == '\n') || (*cur == '\r'))) cur--; n = 0; while ((cur != base) && (n++ < 80)) {