From 2ceb2f7ffc1a3b2fa96c2d3b572f2f24be5824ca Mon Sep 17 00:00:00 2001 From: Georg Richter Date: Mon, 10 Feb 2014 09:04:01 +0100 Subject: [PATCH] Fix for conc-77: Backslash escaped quotes (', "") are not parsed correctly --- libmariadb/default.c | 6 ++++++ unittest/libmariadb/connection.c | 4 ++-- unittest/libmariadb/my.cnf | 3 --- 3 files changed, 8 insertions(+), 5 deletions(-) delete mode 100644 unittest/libmariadb/my.cnf diff --git a/libmariadb/default.c b/libmariadb/default.c index 289f24bd..df762930 100644 --- a/libmariadb/default.c +++ b/libmariadb/default.c @@ -351,6 +351,12 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc, case 's': *ptr++= ' '; /* space */ break; + case '\"': + *ptr++= '\"'; + break; + case '\'': + *ptr++= '\''; + break; case '\\': *ptr++= '\\'; break; diff --git a/unittest/libmariadb/connection.c b/unittest/libmariadb/connection.c index 716e041b..ef13161f 100644 --- a/unittest/libmariadb/connection.c +++ b/unittest/libmariadb/connection.c @@ -38,7 +38,7 @@ static int test_conc66(MYSQL *my) fprintf(fp, "[conc-66]\n"); fprintf(fp, "user=conc66\n"); - fprintf(fp, "password='test;#test'\n"); + fprintf(fp, "password='test\\\";#test'\n"); fclose(fp); @@ -47,7 +47,7 @@ static int test_conc66(MYSQL *my) rc= mysql_options(mysql, MYSQL_READ_DEFAULT_FILE, "./my.cnf"); check_mysql_rc(rc, mysql); - rc= mysql_query(my, "GRANT ALL ON test.* TO 'conc66'@'localhost' IDENTIFIED BY 'test;#test'"); + rc= mysql_query(my, "GRANT ALL ON test.* TO 'conc66'@'localhost' IDENTIFIED BY 'test\";#test'"); check_mysql_rc(rc, my); rc= mysql_query(my, "FLUSH PRIVILEGES"); check_mysql_rc(rc, my); diff --git a/unittest/libmariadb/my.cnf b/unittest/libmariadb/my.cnf deleted file mode 100644 index 0fec8728..00000000 --- a/unittest/libmariadb/my.cnf +++ /dev/null @@ -1,3 +0,0 @@ -[conc-66] -user=conc66 -password='test;#test'