From 06ade15528fa64acd9dea92b072a985793d1dcc1 Mon Sep 17 00:00:00 2001
From: Pieter van den Ham
Date: Wed, 5 Aug 2020 20:21:26 +0200
Subject: Fix #79934: CRLF-only line in heredoc causes parsing error
Fixes the function `next_newline()` in zend_language_scanner.l. The
function now correctly returns a newline_len of 2 for "\r\n".
Closes GH-5944.
---
Zend/zend_language_scanner.l | 1 +
1 file changed, 1 insertion(+)
(limited to 'Zend/zend_language_scanner.l')
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 041b482ab4..2c35d38ea4 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -1112,6 +1112,7 @@ static const char *next_newline(const char *str, const char *end, size_t *newlin
for (; str < end; str++) {
if (*str == '\r') {
*newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
+ return str;
} else if (*str == '\n') {
*newline_len = 1;
return str;
--
cgit v1.2.1