Skip to content

Commit 3f820e6

Browse files
committed
MC-37922: Html tag <br> visible in message
1 parent 1d3b895 commit 3f820e6

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

app/code/Magento/ImportExport/Controller/Adminhtml/ImportResult.php

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
use Magento\ImportExport\Model\Import\Entity\AbstractEntity;
1010
use Magento\ImportExport\Model\Import\ErrorProcessing\ProcessingErrorAggregatorInterface;
1111
use Magento\ImportExport\Model\History as ModelHistory;
12+
use Magento\Framework\Escaper;
13+
use Magento\Framework\App\ObjectManager;
1214

1315
/**
1416
* Import controller
@@ -37,22 +39,31 @@ abstract class ImportResult extends Import
3739
*/
3840
protected $reportHelper;
3941

42+
/**
43+
* @var Escaper|null
44+
*/
45+
protected $escaper;
46+
4047
/**
4148
* @param \Magento\Backend\App\Action\Context $context
4249
* @param \Magento\ImportExport\Model\Report\ReportProcessorInterface $reportProcessor
4350
* @param \Magento\ImportExport\Model\History $historyModel
4451
* @param \Magento\ImportExport\Helper\Report $reportHelper
52+
* @param Escaper|null $escaper
4553
*/
4654
public function __construct(
4755
\Magento\Backend\App\Action\Context $context,
4856
\Magento\ImportExport\Model\Report\ReportProcessorInterface $reportProcessor,
4957
\Magento\ImportExport\Model\History $historyModel,
50-
\Magento\ImportExport\Helper\Report $reportHelper
58+
\Magento\ImportExport\Helper\Report $reportHelper,
59+
Escaper $escaper = null
5160
) {
5261
parent::__construct($context);
5362
$this->reportProcessor = $reportProcessor;
5463
$this->historyModel = $historyModel;
5564
$this->reportHelper = $reportHelper;
65+
$this->escaper = $escaper
66+
?? ObjectManager::getInstance()->get(Escaper::class);
5667
}
5768

5869
/**
@@ -69,22 +80,20 @@ protected function addErrorMessages(
6980
if ($errorAggregator->getErrorsCount()) {
7081
$message = '';
7182
$counter = 0;
72-
$unescapedMessages = [];
83+
$escapedMessages = [];
7384
foreach ($this->getErrorMessages($errorAggregator) as $error) {
74-
$unescapedMessages[] = (++$counter) . '. ' . $error;
85+
$escapedMessages[] = (++$counter) . '. ' . $this->escaper->escapeHtml($error);
7586
if ($counter >= self::LIMIT_ERRORS_MESSAGE) {
7687
break;
7788
}
7889
}
79-
foreach ($unescapedMessages as $unescapedMessage) {
80-
$message .= $resultBlock->escapeHtml($unescapedMessage) . '<br>';
81-
}
90+
$message .= implode('<br>', $escapedMessages);
8291
if ($errorAggregator->hasFatalExceptions()) {
8392
foreach ($this->getSystemExceptions($errorAggregator) as $error) {
84-
$message .= $error->getErrorMessage()
93+
$message .= $this->escaper->escapeHtml($error->getErrorMessage())
8594
. ' <a href="#" onclick="$(this).next().show();$(this).hide();return false;">'
8695
. __('Show more') . '</a><div style="display:none;">' . __('Additional data') . ': '
87-
. $error->getErrorDescription() . '</div>';
96+
. $this->escaper->escapeHtml($error->getErrorDescription()) . '</div>';
8897
}
8998
}
9099
try {

0 commit comments

Comments
 (0)