Skip to content

Commit fa8830c

Browse files
authored
Merge pull request #10 from magento-commerce/imported-magento-magento-coding-standard-202
[Imported] Avoid infinite loop when Parse Error occurs
2 parents e593603 + ad4272a commit fa8830c

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

Magento2/Sniffs/Security/XssTemplateSniff.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,8 +249,10 @@ private function parseLineStatement($start, $end)
249249
$posOfLastInlineThen = $this->findLastInScope(T_INLINE_THEN, $start, $end);
250250
if ($posOfLastInlineThen !== false) {
251251
$posOfInlineElse = $this->file->findNext(T_INLINE_ELSE, $posOfLastInlineThen, $end);
252-
$this->addStatement($posOfLastInlineThen + 1, $posOfInlineElse);
253-
$this->addStatement($posOfInlineElse + 1, $end);
252+
if ($posOfInlineElse !== false) {
253+
$this->addStatement($posOfLastInlineThen + 1, $posOfInlineElse);
254+
$this->addStatement($posOfInlineElse + 1, $end);
255+
}
254256
$parsed = true;
255257
} else {
256258
do {

Magento2/Tests/Security/XssTemplateUnitTest.inc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,6 @@ echo $var;
5757
<?php echo $block->escapeCss($css); ?>
5858
<?php echo $block->getJsLayout($jsLayout); ?>
5959
<?= /* @noEscape */ json_encode($config) ?>
60+
61+
<!-- intentional parse error -->
62+
<?= $block->escapeUrl($block->getUrl('no-route')) <?= $block->getBaseUrl() ?>

0 commit comments

Comments
 (0)