summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2004-11-28 15:53:17 +0100
committerunknown <serg@serg.mylan>2004-11-28 15:53:17 +0100
commit30db8445c10b0ae44077f1b2739a3bb07b4735a4 (patch)
tree46d7ffed3e41aa68db463fe32568cb1f56dc23f2 /sql/item.h
parent7a1ffc062ecfafe9f1f7d4c15d7c8cc9815a7d3d (diff)
downloadmariadb-git-30db8445c10b0ae44077f1b2739a3bb07b4735a4.tar.gz
protection: TRASH in delete
fixed a bug that it discovered include/my_sys.h: move TRASH to my_sys.h from sql_list.h sql/field.h: use TRASH macro sql/item.h: TRASH in delete sql/item_func.h: never delete item's manually! sql/opt_range.cc: TRASH in delete sql/sql_lex.h: TRASH in delete sql/sql_list.h: move TRASH to my_sys.h from sql_list.h sql/sql_parse.cc: don't use properties of deleted objects (even when it's safe) sql/sql_select.cc: TRASH in delete sql/sql_show.cc: TRASH in delete sql/sql_string.h: TRASH in delete
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/item.h b/sql/item.h
index 8f6d6581884..2c2978e841c 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -120,8 +120,9 @@ public:
static void *operator new(size_t size) {return (void*) sql_alloc((uint) size); }
static void *operator new(size_t size, MEM_ROOT *mem_root)
{ return (void*) alloc_root(mem_root, (uint) size); }
- static void operator delete(void *ptr,size_t size) {}
- static void operator delete(void *ptr,size_t size, MEM_ROOT *mem_root) {}
+ static void operator delete(void *ptr,size_t size) { TRASH(ptr, size); }
+ static void operator delete(void *ptr,size_t size, MEM_ROOT *mem_root)
+ { TRASH(ptr, size); }
enum Type {FIELD_ITEM, FUNC_ITEM, SUM_FUNC_ITEM, STRING_ITEM,
INT_ITEM, REAL_ITEM, NULL_ITEM, VARBIN_ITEM,