From 74e4bb9a6f1519c090d28555a6c7eaff880d4ec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Gra=C3=9F?= Date: Thu, 19 Aug 2021 12:33:07 +0200 Subject: [PATCH] Do not limit unlimited memory, fix number conversion warning --- adminer/include/editing.inc.php | 6 +++--- adminer/sql.inc.php | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/adminer/include/editing.inc.php b/adminer/include/editing.inc.php index 0f29742d..30145489 100644 --- a/adminer/include/editing.inc.php +++ b/adminer/include/editing.inc.php @@ -518,9 +518,9 @@ function tar_file($filename, $tmp_file) { function ini_bytes($ini) { $val = ini_get($ini); switch (strtolower(substr($val, -1))) { - case 'g': $val *= 1024; // no break - case 'm': $val *= 1024; // no break - case 'k': $val *= 1024; + case 'g': $val = (int)$val * 1024; // no break + case 'm': $val = (int)$val * 1024; // no break + case 'k': $val = (int)$val * 1024; } return $val; } diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index 216e36e2..473997f9 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -32,8 +32,8 @@ if (!$error && $_POST) { } if (is_string($query)) { // get_file() returns error as number, fread() as false - if (function_exists('memory_get_usage')) { - @ini_set("memory_limit", max(ini_bytes("memory_limit"), 2 * strlen($query) + memory_get_usage() + 8e6)); // @ - may be disabled, 2 - substr and trim, 8e6 - other variables + if (function_exists('memory_get_usage') && ($memory_limit = ini_bytes("memory_limit")) != "-1") { + @ini_set("memory_limit", max($memory_limit, 2 * strlen($query) + memory_get_usage() + 8e6)); // @ - may be disabled, 2 - substr and trim, 8e6 - other variables } if ($query != "" && strlen($query) < 1e6) { // don't add big queries