Parcourir la source

Fix computerFileSize when called with a string without unit

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Côme Chilliet il y a 1 an
Parent
commit
d00422b812
2 fichiers modifiés avec 4 ajouts et 3 suppressions
  1. 1 3
      core/Command/Log/File.php
  2. 3 0
      lib/private/legacy/OC_Helper.php

+ 1 - 3
core/Command/Log/File.php

@@ -115,14 +115,12 @@ class File extends Command implements Completion\CompletionAwareInterface {
 	}
 
 	/**
-	 * @param mixed $rotateSize
 	 * @throws \InvalidArgumentException
 	 */
-	protected function validateRotateSize(&$rotateSize) {
+	protected function validateRotateSize(false|int|float $rotateSize): void {
 		if ($rotateSize === false) {
 			throw new \InvalidArgumentException('Error parsing log rotation file size');
 		}
-		$rotateSize = (int) $rotateSize;
 		if ($rotateSize < 0) {
 			throw new \InvalidArgumentException('Log rotation file size must be non-negative');
 		}

+ 3 - 0
lib/private/legacy/OC_Helper.php

@@ -104,6 +104,9 @@ class OC_Helper {
 	 */
 	public static function computerFileSize(string $str): false|int|float {
 		$str = strtolower($str);
+		if (is_numeric($str)) {
+			return Util::numericToNumber($str);
+		}
 
 		$bytes_array = [
 			'b' => 1,