mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-34437: handle error on getaddrinfo
When getaddrinfo returns and error, the contents of ai are invalid so we cannot continue based on their data structures. In the previous branch of the if statement, we abort there if there is an error so for consistency we abort here too. The test case fixes the port number to UINTMAX32 for both an enumberated bind-address and the default bind-address covering the two calls to getaddrinfo. Review thanks Sanja.
This commit is contained in:
34
mysql-test/main/bad_startup_options_debug.test
Normal file
34
mysql-test/main/bad_startup_options_debug.test
Normal file
@ -0,0 +1,34 @@
|
||||
# mysqld refuses to run as root normally.
|
||||
--source include/not_as_root.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/linux.inc
|
||||
|
||||
--source include/shutdown_mysqld.inc
|
||||
|
||||
# Try to start the server, with bad values for some options.
|
||||
# Make sure, the starts fails, and expected message is in the error log
|
||||
|
||||
--let errorlog=$MYSQL_TMP_DIR/errorlog.err
|
||||
--let SEARCH_FILE=$errorlog
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34437 SIGSEGV in vio_get_normalized_ip when using extra-port
|
||||
--echo #
|
||||
|
||||
# getaddrinfo failure by fixing port to invalid value
|
||||
--error 1
|
||||
--exec $MYSQLD --defaults-group-suffix=.1 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --debug='d,sabotage_port_number' --log-error=$errorlog
|
||||
--let SEARCH_PATTERN=\[ERROR\] Can't create IP socket: Servname not supported
|
||||
--source include/search_pattern_in_file.inc
|
||||
--remove_file $SEARCH_FILE
|
||||
|
||||
--error 1
|
||||
--exec $MYSQLD --defaults-group-suffix=.1 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --debug='d,sabotage_port_number' --bind-address=0.0.0.0 --log-error=$errorlog
|
||||
--let SEARCH_PATTERN=\[ERROR\] Can't create IP socket: Servname not supported
|
||||
--source include/search_pattern_in_file.inc
|
||||
--remove_file $SEARCH_FILE
|
||||
|
||||
--source include/start_mysqld.inc
|
||||
|
||||
--echo # End of 10.11 tests
|
Reference in New Issue
Block a user