]> git.joonet.de Git - adminer.git/commitdiff
Don't quote collation (MS SQL 2005)
authorJakub Vrana <jakub@vrana.cz>
Sat, 16 Oct 2010 13:31:25 +0000 (15:31 +0200)
committerJakub Vrana <jakub@vrana.cz>
Sat, 16 Oct 2010 13:31:25 +0000 (15:31 +0200)
adminer/database.inc.php
adminer/drivers/mssql.inc.php

index 0827c638a769bd2f28c12fea9251cb480e763f98..f3399dee22f66b875d0c0dcb97efab6ca9cb2d3d 100644 (file)
@@ -28,7 +28,7 @@ if ($_POST && !$error && !isset($_POST["add_x"])) { // add is an image and PHP c
                if (!$_POST["collation"]) {
                        redirect(substr(ME, 0, -1));
                }
-               query_redirect("ALTER DATABASE " . idf_escape($_POST["name"]) . " COLLATE " . q($_POST["collation"]), substr(ME, 0, -1), lang('Database has been altered.'));
+               query_redirect("ALTER DATABASE " . idf_escape($_POST["name"]) . " COLLATE $_POST[collation]", substr(ME, 0, -1), lang('Database has been altered.')); //! SQL injection - quotes are not allowed in MS SQL 2005
        }
 }
 
index 119928256ddafda474dee80bd54ad33f0b8c7003..03369a5a732a5852ab1f35bf4562dc510f2d5b83 100644 (file)
@@ -383,7 +383,7 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table)
        }
 
        function create_database($db, $collation) {
-               return queries("CREATE DATABASE " . idf_escape($db) . ($collation ? " COLLATE " . idf_escape($collation) : ""));
+               return queries("CREATE DATABASE " . idf_escape($db) . ($collation ? " COLLATE $collation" : ""));
        }
        
        function drop_databases($databases) {
@@ -392,7 +392,7 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table)
        
        function rename_database($name, $collation) {
                if ($collation) {
-                       queries("ALTER DATABASE " . idf_escape(DB) . " COLLATE " . idf_escape($collation));
+                       queries("ALTER DATABASE " . idf_escape(DB) . " COLLATE $collation");
                }
                queries("ALTER DATABASE " . idf_escape(DB) . " MODIFY NAME = " . idf_escape($name));
                return true; //! false negative "The database name 'test2' has been set."