summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-04-06 15:51:08 +0200
committerSergei Golubchik <sergii@pisem.net>2013-04-06 15:51:08 +0200
commit5d9e50fc950502698d3beb95577bc5fe441b38b7 (patch)
tree6e17e30383acacdfc949a1ed54d4eb2b6d58a1e6 /sql
parent6770a9a836fcc8aa9f49f6b91ce237851638916b (diff)
downloadmariadb-git-5d9e50fc950502698d3beb95577bc5fe441b38b7.tar.gz
MDEV-4244 [PATCH] Buffer overruns and use-after-free errors
fixes for gcc 4.8 -fsanitize=address
Diffstat (limited to 'sql')
-rw-r--r--sql/multi_range_read.cc2
-rw-r--r--sql/sql_show.cc6
2 files changed, 4 insertions, 4 deletions
diff --git a/sql/multi_range_read.cc b/sql/multi_range_read.cc
index e86c9ca251c..727ebc29032 100644
--- a/sql/multi_range_read.cc
+++ b/sql/multi_range_read.cc
@@ -1632,7 +1632,7 @@ int DsMrr_impl::dsmrr_explain_info(uint mrr_mode, char *str, size_t size)
uint used_str_len= strlen(used_str);
uint copy_len= min(used_str_len, size);
- memcpy(str, used_str, size);
+ memcpy(str, used_str, copy_len);
return copy_len;
}
return 0;
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 6ff4654e7d4..371f97243f7 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -6617,20 +6617,20 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list)
break;
case MYSQL_TYPE_DATE:
if (!(item=new Item_return_date_time(fields_info->field_name,
- MAX_DATE_WIDTH,
+ strlen(fields_info->field_name),
fields_info->field_type)))
DBUG_RETURN(0);
break;
case MYSQL_TYPE_TIME:
if (!(item=new Item_return_date_time(fields_info->field_name,
- MAX_TIME_FULL_WIDTH,
+ strlen(fields_info->field_name),
fields_info->field_type)))
DBUG_RETURN(0);
break;
case MYSQL_TYPE_TIMESTAMP:
case MYSQL_TYPE_DATETIME:
if (!(item=new Item_return_date_time(fields_info->field_name,
- MAX_DATETIME_WIDTH,
+ strlen(fields_info->field_name),
fields_info->field_type)))
DBUG_RETURN(0);
break;