Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit cf359c2

Browse filesBrowse files
committed
bug #28344 [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients (nicolas-grekas)
This PR was merged into the 2.8 branch. Discussion ---------- [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients | Q | A | ------------- | --- | Branch? | 2.8 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #28125 | License | MIT | Doc PR | - Commits ------- 2554554 [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients
2 parents b102e72 + 2554554 commit cf359c2
Copy full SHA for cf359c2

File tree

2 files changed

+18
-18
lines changed
Filter options

2 files changed

+18
-18
lines changed

‎src/Symfony/Bundle/FrameworkBundle/Client.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Client.php
+10-10Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -161,19 +161,19 @@ protected function doRequestInProcess($request)
161161
*/
162162
protected function getScript($request)
163163
{
164-
$kernel = str_replace("'", "\\'", serialize($this->kernel));
165-
$request = str_replace("'", "\\'", serialize($request));
164+
$kernel = var_export(serialize($this->kernel), true);
165+
$request = var_export(serialize($request), true);
166166

167167
$r = new \ReflectionObject($this->kernel);
168168

169169
$autoloader = \dirname($r->getFileName()).'/autoload.php';
170170
if (is_file($autoloader)) {
171-
$autoloader = str_replace("'", "\\'", $autoloader);
171+
$autoloader = var_export($autoloader, true);
172172
} else {
173-
$autoloader = '';
173+
$autoloader = 'false';
174174
}
175175

176-
$path = str_replace("'", "\\'", $r->getFileName());
176+
$path = var_export($r->getFileName(), true);
177177

178178
$profilerCode = '';
179179
if ($this->profiler) {
@@ -187,16 +187,16 @@ protected function getScript($request)
187187
188188
error_reporting($errorReporting);
189189
190-
if ('$autoloader') {
191-
require_once '$autoloader';
190+
if ($autoloader) {
191+
require_once $autoloader;
192192
}
193-
require_once '$path';
193+
require_once $path;
194194
195-
\$kernel = unserialize('$kernel');
195+
\$kernel = unserialize($kernel);
196196
\$kernel->boot();
197197
$profilerCode
198198
199-
\$request = unserialize('$request');
199+
\$request = unserialize($request);
200200
EOF;
201201

202202
return $code.$this->getHandleScript();

‎src/Symfony/Component/HttpKernel/Client.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/HttpKernel/Client.php
+8-8Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,27 +71,27 @@ protected function doRequest($request)
7171
*/
7272
protected function getScript($request)
7373
{
74-
$kernel = str_replace("'", "\\'", serialize($this->kernel));
75-
$request = str_replace("'", "\\'", serialize($request));
74+
$kernel = var_export(serialize($this->kernel), true);
75+
$request = var_export(serialize($request), true);
7676

7777
$r = new \ReflectionClass('\\Symfony\\Component\\ClassLoader\\ClassLoader');
78-
$requirePath = str_replace("'", "\\'", $r->getFileName());
79-
$symfonyPath = str_replace("'", "\\'", \dirname(\dirname(\dirname(__DIR__))));
78+
$requirePath = var_export($r->getFileName(), true);
79+
$symfonyPath = var_export(\dirname(\dirname(\dirname(__DIR__))), true);
8080
$errorReporting = error_reporting();
8181

8282
$code = <<<EOF
8383
<?php
8484
8585
error_reporting($errorReporting);
8686
87-
require_once '$requirePath';
87+
require_once $requirePath;
8888
8989
\$loader = new Symfony\Component\ClassLoader\ClassLoader();
90-
\$loader->addPrefix('Symfony', '$symfonyPath');
90+
\$loader->addPrefix('Symfony', $symfonyPath);
9191
\$loader->register();
9292
93-
\$kernel = unserialize('$kernel');
94-
\$request = unserialize('$request');
93+
\$kernel = unserialize($kernel);
94+
\$request = unserialize($request);
9595
EOF;
9696

9797
return $code.$this->getHandleScript();

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.