Merge pull request #11091 from nextcloud/bugfix/11088/cannot-read-passwd

Remove posix_getpwuid and compare only userid
This commit is contained in:
blizzz 2018-09-13 10:29:08 +02:00 committed by GitHub
commit d1cb83424f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -545,7 +545,7 @@ Raw output
* @return array * @return array
*/ */
protected function getAppDirsWithDifferentOwner(): array { protected function getAppDirsWithDifferentOwner(): array {
$currentUser = posix_getpwuid(posix_getuid()); $currentUser = posix_getuid();
$appDirsWithDifferentOwner = [[]]; $appDirsWithDifferentOwner = [[]];
foreach (OC::$APPSROOTS as $appRoot) { foreach (OC::$APPSROOTS as $appRoot) {
@ -563,11 +563,11 @@ Raw output
/** /**
* Tests if the directories for one apps directory are writable by the current user. * Tests if the directories for one apps directory are writable by the current user.
* *
* @param array $currentUser The current user * @param int $currentUser The current user
* @param array $appRoot The app root config * @param array $appRoot The app root config
* @return string[] The none writable directory paths inside the app root * @return string[] The none writable directory paths inside the app root
*/ */
private function getAppDirsWithDifferentOwnerForAppRoot(array $currentUser, array $appRoot): array { private function getAppDirsWithDifferentOwnerForAppRoot(int $currentUser, array $appRoot): array {
$appDirsWithDifferentOwner = []; $appDirsWithDifferentOwner = [];
$appsPath = $appRoot['path']; $appsPath = $appRoot['path'];
$appsDir = new DirectoryIterator($appRoot['path']); $appsDir = new DirectoryIterator($appRoot['path']);
@ -575,7 +575,7 @@ Raw output
foreach ($appsDir as $fileInfo) { foreach ($appsDir as $fileInfo) {
if ($fileInfo->isDir() && !$fileInfo->isDot()) { if ($fileInfo->isDir() && !$fileInfo->isDot()) {
$absAppPath = $appsPath . DIRECTORY_SEPARATOR . $fileInfo->getFilename(); $absAppPath = $appsPath . DIRECTORY_SEPARATOR . $fileInfo->getFilename();
$appDirUser = posix_getpwuid(fileowner($absAppPath)); $appDirUser = fileowner($absAppPath);
if ($appDirUser !== $currentUser) { if ($appDirUser !== $currentUser) {
$appDirsWithDifferentOwner[] = $absAppPath; $appDirsWithDifferentOwner[] = $absAppPath;
} }