Commit 0fc5ad1e authored by Damien@damiendev's avatar Damien@damiendev

Bug#26346: stack + buffer overrun in mysqldump

Fixes to buffer overlows from long command line args, and unchecked dyn_str return codes. Also light refactoring.
parent 185fbb6a
This diff is collapsed.
...@@ -1567,29 +1567,17 @@ create table t3(a varchar(30) primary key, b int not null); ...@@ -1567,29 +1567,17 @@ create table t3(a varchar(30) primary key, b int not null);
test_sequence test_sequence
------ Testing with illegal table names ------ ------ Testing with illegal table names ------
mysqldump: Couldn't find table: "\d-2-1.sql" mysqldump: Couldn't find table: "\d-2-1.sql"
mysqldump: Couldn't find table: "\t1" mysqldump: Couldn't find table: "\t1"
mysqldump: Couldn't find table: "\t1" mysqldump: Couldn't find table: "\t1"
mysqldump: Couldn't find table: "\\t1" mysqldump: Couldn't find table: "\\t1"
mysqldump: Couldn't find table: "t\1" mysqldump: Couldn't find table: "t\1"
mysqldump: Couldn't find table: "t\1" mysqldump: Couldn't find table: "t\1"
mysqldump: Couldn't find table: "t/1" mysqldump: Couldn't find table: "t/1"
mysqldump: Couldn't find table: "T_1" mysqldump: Couldn't find table: "T_1"
mysqldump: Couldn't find table: "T%1" mysqldump: Couldn't find table: "T%1"
mysqldump: Couldn't find table: "T'1" mysqldump: Couldn't find table: "T'1"
mysqldump: Couldn't find table: "T_1" mysqldump: Couldn't find table: "T_1"
mysqldump: Couldn't find table: "T_" mysqldump: Couldn't find table: "T_"
test_sequence test_sequence
------ Testing with illegal database names ------ ------ Testing with illegal database names ------
mysqldump: Got error: 1049: Unknown database 'mysqldump_test_d' when selecting the database mysqldump: Got error: 1049: Unknown database 'mysqldump_test_d' when selecting the database
...@@ -3218,5 +3206,12 @@ INSERT INTO t1 VALUES(1,0xff00fef0); ...@@ -3218,5 +3206,12 @@ INSERT INTO t1 VALUES(1,0xff00fef0);
</mysqldump> </mysqldump>
DROP TABLE t1; DROP TABLE t1;
# #
# Bug#26346: stack + buffer overrun in mysqldump
#
CREATE TABLE t1(a int);
INSERT INTO t1 VALUES (1), (2);
mysqldump: Input filename or options too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
DROP TABLE t1;
#
# End of 5.0 tests # End of 5.0 tests
# #
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment