summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorknielsen@mysql.com <>2006-06-30 09:26:36 +0200
committerknielsen@mysql.com <>2006-06-30 09:26:36 +0200
commit1d56a9720c7c0eef6f16e9624cce17553cfddd5b (patch)
treeb7dbbca863e9dee3f7b5c83cfaa990c51a5a4da3 /sql/item.h
parent5154bc6c4728846fc969550db3d8692aa5ca3ffe (diff)
downloadmariadb-git-1d56a9720c7c0eef6f16e9624cce17553cfddd5b.tar.gz
BUG#20769: Dangling pointer in ctype_recoding test case.
In some functions dealing with strings and character sets, the wrong pointers were saved for restoration in THD::rollback_item_tree_changes(). This could potentially cause random corruption or crashes. Fixed by passing the original Item ** locations, not local stack copies. Also remove unnecessary use of default arguments.
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/sql/item.h b/sql/item.h
index 2cadfda6895..534d20b3aec 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -1075,12 +1075,11 @@ public:
};
bool agg_item_collations(DTCollation &c, const char *name,
- Item **items, uint nitems, uint flags= 0);
+ Item **items, uint nitems, uint flags, int item_sep);
bool agg_item_collations_for_comparison(DTCollation &c, const char *name,
- Item **items, uint nitems,
- uint flags= 0);
+ Item **items, uint nitems, uint flags);
bool agg_item_charsets(DTCollation &c, const char *name,
- Item **items, uint nitems, uint flags= 0);
+ Item **items, uint nitems, uint flags, int item_sep);
class Item_num: public Item