Skip to content

Commit d9bcd7e

Browse files
[HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients
1 parent 2828093 commit d9bcd7e

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

Client.php

Lines 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();

0 commit comments

Comments
 (0)