Index: t3lib/class.t3lib_stdgraphic.php =================================================================== --- t3lib/class.t3lib_stdgraphic.php (revision 9811) +++ t3lib/class.t3lib_stdgraphic.php (working copy) @@ -2681,18 +2682,24 @@ * Escapes a file name so it can safely be used on the command line. * * @param string $inputName filename to safeguard, must not be empty - * * @return string $inputName escaped as needed */ protected function wrapFileName($inputName) { - if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['UTF8filesystem']) { - $currentLocale = setlocale(LC_CTYPE, 0); - setlocale(LC_CTYPE, $GLOBALS['TYPO3_CONF_VARS']['SYS']['systemLocale']); + // if safe_mode is enabled PHP will execute escapeshellcmd() + // on the arguments of exec(), system(), passthru() and + // popen() calls + if (!t3lib_utility_PhpOptions::isSafeModeEnabled()) { + if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['UTF8filesystem']) { + $currentLocale = setlocale(LC_CTYPE, 0); + setlocale(LC_CTYPE, $GLOBALS['TYPO3_CONF_VARS']['SYS']['systemLocale']); + } + $escapedInputName = escapeshellarg($inputName); + if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['UTF8filesystem']) { + setlocale(LC_CTYPE, $currentLocale); + } + } else { + $escapedInputName = $inputName; } - $escapedInputName = escapeshellarg($inputName); - if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['UTF8filesystem']) { - setlocale(LC_CTYPE, $currentLocale); - } return $escapedInputName; }