diff --git a/src/filesystem/Filesystem.php b/src/filesystem/Filesystem.php --- a/src/filesystem/Filesystem.php +++ b/src/filesystem/Filesystem.php @@ -275,7 +275,7 @@ $trap->destroy(); if (!$ok) { - if (strlen($err)) { + if ($err !== null && strlen($err)) { throw new FilesystemException( $to, pht( @@ -307,7 +307,7 @@ * @task file */ public static function remove($path) { - if (!strlen($path)) { + if ($path == null || !strlen($path)) { // Avoid removing PWD. throw new Exception( pht( @@ -673,7 +673,7 @@ } // If we come back with an encoding, strip it off. - if (strpos($mime_type, ';') !== false) { + if ($mime_type !== null && strpos($mime_type, ';') !== false) { list($type, $encoding) = explode(';', $mime_type, 2); $mime_type = $type; } diff --git a/src/workingcopyidentity/ArcanistWorkingCopyIdentity.php b/src/workingcopyidentity/ArcanistWorkingCopyIdentity.php --- a/src/workingcopyidentity/ArcanistWorkingCopyIdentity.php +++ b/src/workingcopyidentity/ArcanistWorkingCopyIdentity.php @@ -289,7 +289,7 @@ } public function readLocalArcConfig() { - if (strlen($this->localMetaDir)) { + if ($this->localMetaDir !== null && strlen($this->localMetaDir)) { $local_path = Filesystem::resolvePath('arc/config', $this->localMetaDir); $console = PhutilConsole::getConsole();