summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/mysqld.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 08729e3e378..436f693d734 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -1246,6 +1246,12 @@ static void server_init(void)
{
DBUG_PRINT("general",("UNIX Socket is %s",mysqld_unix_port));
+ if (strlen(mysqld_unix_port) > (sizeof(UNIXaddr.sun_path) - 1))
+ {
+ sql_print_error("The socket file path is too long (> %d): %s",
+ sizeof(UNIXaddr.sun_path) - 1, mysqld_unix_port);
+ unireg_abort(1);
+ }
if ((unix_sock= socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
{
sql_perror("Can't start server : UNIX Socket "); /* purecov: inspected */