]> git.joonet.de Git - adminer.git/commitdiff
Fix converting long values to unique_idf
authorJakub Vrana <jakub@vrana.cz>
Mon, 31 Mar 2025 06:55:23 +0000 (08:55 +0200)
committerJakub Vrana <jakub@vrana.cz>
Mon, 31 Mar 2025 08:09:30 +0000 (10:09 +0200)
Found by PHP error: Trying to access array offset on null

adminer/select.inc.php

index 81e07af171fa02c88462026c67a6c358f2e1ff10..0b7b957a5d3cbd75b9aaeda343c71aa376bae63e 100644 (file)
@@ -396,9 +396,10 @@ if (!$columns && support("table")) {
                                }
                                $unique_idf = "";
                                foreach ($unique_array as $key => $val) {
-                                       if ((JUSH == "sql" || JUSH == "pgsql") && preg_match('~char|text|enum|set~', $fields[$key]["type"]) && strlen($val) > 64) {
+                                       $field = $fields[$key];
+                                       if ((JUSH == "sql" || JUSH == "pgsql") && preg_match('~char|text|enum|set~', $field["type"]) && strlen($val) > 64) {
                                                $key = (strpos($key, '(') ? $key : idf_escape($key)); //! columns looking like functions
-                                               $key = "MD5(" . (JUSH != 'sql' || preg_match("~^utf8~", $fields[$key]["collation"]) ? $key : "CONVERT($key USING " . charset(connection()) . ")") . ")";
+                                               $key = "MD5(" . (JUSH != 'sql' || preg_match("~^utf8~", $field["collation"]) ? $key : "CONVERT($key USING " . charset(connection()) . ")") . ")";
                                                $val = md5($val);
                                        }
                                        $unique_idf .= "&" . ($val !== null ? urlencode("where[" . bracket_escape($key) . "]") . "=" . urlencode($val === false ? "f" : $val) : "null%5B%5D=" . urlencode($key));