summaryrefslogtreecommitdiff
path: root/sql/sql_partition.h
diff options
context:
space:
mode:
authorNisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>2017-08-16 13:58:25 +0530
committerNisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>2017-08-23 12:59:38 +0530
commitbe901b60ae59c93848c829d1b0b2cb523ab8692e (patch)
tree21b144aebc7e58f48bda0ef9972b6a371c64f703 /sql/sql_partition.h
parentebd96c314953f5c0073ff5846484fd5e438fe0ad (diff)
downloadmariadb-git-be901b60ae59c93848c829d1b0b2cb523ab8692e.tar.gz
Bug#26390632: CREATE TABLE CAN CAUSE MYSQL TO EXIT.
Analysis ======== CREATE TABLE of InnoDB table with a partition name which exceeds the path limit can cause the server to exit. During the preparation of the partition name, there was no check to identify whether the complete path name for partition exceeds the max supported path length, causing the server to exit during subsequent processing. Fix === During the preparation of partition name, check and report an error if the partition path name exceeds the maximum path name limit. This is a 5.5 patch.
Diffstat (limited to 'sql/sql_partition.h')
-rw-r--r--sql/sql_partition.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sql_partition.h b/sql/sql_partition.h
index f232eaa0629..cfaab903f04 100644
--- a/sql/sql_partition.h
+++ b/sql/sql_partition.h
@@ -1,7 +1,7 @@
#ifndef SQL_PARTITION_INCLUDED
#define SQL_PARTITION_INCLUDED
-/* Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+/* Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -272,10 +272,10 @@ char *generate_partition_syntax(partition_info *part_info,
const char *current_comment_start);
#endif
-void create_partition_name(char *out, const char *in1,
+bool create_partition_name(char *out, const char *in1,
const char *in2, uint name_variant,
bool translate);
-void create_subpartition_name(char *out, const char *in1,
+bool create_subpartition_name(char *out, const char *in1,
const char *in2, const char *in3,
uint name_variant);