Output validation for exec() method.

This commit is contained in:
Andreas Fischer 2014-02-09 15:56:26 +01:00
parent 68cc0ba2e1
commit 626e87aa54
1 changed files with 7 additions and 2 deletions

View File

@ -92,10 +92,15 @@ class LargeFileHelper {
public function getFilesizeViaExec($filename) {
if (\OC_Helper::is_function_enabled('exec')) {
$os = strtolower(php_uname('s'));
$result = '';
if (strpos($os, 'linux') !== false) {
return 0 + exec('stat -c %s ' . escapeshellarg($filename));
$result = trim(exec('stat -c %s ' . escapeshellarg($filename)));
} else if (strpos($os, 'bsd') !== false) {
return 0 + exec('stat -f %z ' . escapeshellarg($filename));
$result = trim(exec('stat -f %z ' . escapeshellarg($filename)));
}
if (ctype_digit($result)) {
return 0 + $result;
}
}
return null;