Skip to content

Commit 6a7a8d8

Browse files
authored
MQE-1510
- fix to command.php
1 parent 09f81b6 commit 6a7a8d8

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

etc/config/command.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
$magentoObjectManager = $magentoObjectManagerFactory->create($_SERVER);
1212
$tokenModel = $magentoObjectManager->get(\Magento\Integration\Model\Oauth\Token::class);
1313

14-
$tokenPassedIn = urldecode($_POST['token']);
15-
$command = urldecode($_POST['command']);
16-
$arguments = urldecode($_POST['arguments']);
14+
$tokenPassedIn = urldecode($_POST['token'] ?? "");
15+
$command = urldecode($_POST['command'] ?? "");
16+
$arguments = urldecode($_POST['arguments'] ?? "");
1717

1818
// Token returned will be null if the token we passed in is invalid
1919
$tokenFromMagento = $tokenModel->loadByToken($tokenPassedIn)->getToken();
@@ -22,7 +22,12 @@
2222
$magentoBinary = $php . ' -f ../../../../bin/magento';
2323
$valid = validateCommand($magentoBinary, $command);
2424
if ($valid) {
25-
$process = new Symfony\Component\Process\Process($magentoBinary . " $command" . " $arguments");
25+
// Turn string into array for symfony escaping
26+
$commandParts = array_filter(explode(" ", $command));
27+
$argumentParts = array_filter(explode(" ", $arguments));
28+
$magentoBinaryParts = array_filter(explode(" ", $magentoBinary));
29+
$commandArray = array_merge($magentoBinaryParts, $commandParts);
30+
$process = new Symfony\Component\Process\Process($commandArray);
2631
$process->setIdleTimeout(60);
2732
$process->setTimeout(0);
2833
$idleTimeout = false;

0 commit comments

Comments
 (0)