summaryrefslogtreecommitdiff
path: root/sql/sql_prepare.cc
diff options
context:
space:
mode:
authormsvensson@neptunus.(none) <>2007-02-06 14:07:40 +0100
committermsvensson@neptunus.(none) <>2007-02-06 14:07:40 +0100
commit8c37b28c0bc6fccdb88fa0769802e5d83ceb8f88 (patch)
treeb68a502b0fa8d86014cc650407e665b6a5bc26e1 /sql/sql_prepare.cc
parentf44d73a58d0d8232603d98ac14c08cc142538564 (diff)
downloadmariadb-git-8c37b28c0bc6fccdb88fa0769802e5d83ceb8f88.tar.gz
Bug#8983 one place that isn't strict-aliasing-safe
- Backport fix from 5.0
Diffstat (limited to 'sql/sql_prepare.cc')
-rw-r--r--sql/sql_prepare.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
index 2688841d96c..32a0a4af3cd 100644
--- a/sql/sql_prepare.cc
+++ b/sql/sql_prepare.cc
@@ -1783,8 +1783,9 @@ static void reset_stmt_params(Prepared_statement *stmt)
packet_length Query string length, including terminator character.
*/
-void mysql_stmt_execute(THD *thd, char *packet, uint packet_length)
+void mysql_stmt_execute(THD *thd, char *packet_arg, uint packet_length)
{
+ uchar* packet= (uchar*)packet_arg; // gcc 4.0 stgrict-aliasing
ulong stmt_id= uint4korr(packet);
/*
Query text for binary log, or empty string if the query is not put into
@@ -1792,7 +1793,7 @@ void mysql_stmt_execute(THD *thd, char *packet, uint packet_length)
*/
String expanded_query;
#ifndef EMBEDDED_LIBRARY
- uchar *packet_end= (uchar *) packet + packet_length - 1;
+ uchar *packet_end= packet + packet_length - 1;
#endif
Prepared_statement *stmt;
DBUG_ENTER("mysql_stmt_execute");
@@ -1818,9 +1819,9 @@ void mysql_stmt_execute(THD *thd, char *packet, uint packet_length)
#ifndef EMBEDDED_LIBRARY
if (stmt->param_count)
{
- uchar *null_array= (uchar *) packet;
- if (setup_conversion_functions(stmt, (uchar **) &packet, packet_end) ||
- stmt->set_params(stmt, null_array, (uchar *) packet, packet_end,
+ uchar *null_array= packet;
+ if (setup_conversion_functions(stmt, &packet, packet_end) ||
+ stmt->set_params(stmt, null_array, packet, packet_end,
&expanded_query))
goto set_params_data_err;
}