diff options
author | unknown <monty@narttu.mysql.fi> | 2003-11-04 14:09:03 +0200 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-11-04 14:09:03 +0200 |
commit | 0712ce9ec5d3b84acfcb33ebe8b653ed6e0f084c (patch) | |
tree | 07ce6a4f792ac489b079759afb3cc65847ca0cb0 /sql/item_strfunc.cc | |
parent | f97f48acaf26aebc3f79de34b21607e11e1b91fa (diff) | |
download | mariadb-git-0712ce9ec5d3b84acfcb33ebe8b653ed6e0f084c.tar.gz |
Removed some warnings reported by valgrind
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed
myisam/mi_rnext_same.c:
handle case where rtree_find_next() returns an error
(assume this means that there was no more keys)
myisam/rt_index.c:
Code cleanup
mysql-test/r/func_crypt.result:
Update results
mysql-test/r/func_group.result:
Update results
mysql-test/r/null_key.result:
Update results
mysql-test/r/order_by.result:
Update results
mysql-test/r/query_cache.result:
Update results
mysql-test/r/range.result:
Update results
mysql-test/r/rpl_trunc_binlog.result:
Update results
mysql-test/t/fulltext.test:
Fix error numbers
mysql-test/t/func_crypt.test:
Fixed test for 4.1
mysql-test/t/range.test:
Moved tests to be in sync with 4.0
mysys/test_charset.c:
Removed acccess to non existing functions
sql-common/client.c:
Merge fix
sql/item_strfunc.cc:
Simple code cleanup
Don't call ->c_ptr() when you don't need a 0 terminated string
(Causes warnings from valgrind)
sql/log_event.cc:
After merge fixes
sql/protocol.cc:
Change default catalog name to 'def'
sql/spatial.cc:
Code cleanup
sql/sql_class.cc:
After merge fixes
sql/time.cc:
Ensure that time object is cleared on error
sql/unireg.cc:
Removed warning reported by valgrind
Diffstat (limited to 'sql/item_strfunc.cc')
-rw-r--r-- | sql/item_strfunc.cc | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 310faae8380..5579c0f0bea 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -2645,46 +2645,46 @@ String *Item_func_compress::val_str(String *str) } buffer.length((uint32)new_size + 4); - return &buffer; } + String *Item_func_uncompress::val_str(String *str) { String *res= args[0]->val_str(str); - if (!res) - { - null_value= 1; - return 0; - } - if (res->is_empty()) return res; - - ulong new_size= uint4korr(res->c_ptr()) & 0x3FFFFFFF; - int err= Z_OK; + ulong new_size; + int err; uint code; + if (!res) + goto err; + if (res->is_empty()) + return res; + + new_size= uint4korr(res->ptr()) & 0x3FFFFFFF; if (new_size > current_thd->variables.max_allowed_packet) { push_warning_printf(current_thd,MYSQL_ERROR::WARN_LEVEL_ERROR, ER_TOO_BIG_FOR_UNCOMPRESS, ER(ER_TOO_BIG_FOR_UNCOMPRESS), current_thd->variables.max_allowed_packet); - null_value= 0; - return 0; + goto err; } + if (buffer.realloc((uint32)new_size)) + goto err; - buffer.realloc((uint32)new_size); - - if ((err= uncompress((Byte*)buffer.c_ptr(), &new_size, - ((const Bytef*)res->c_ptr())+4,res->length())) == Z_OK) + if ((err= uncompress((Byte*)buffer.ptr(), &new_size, + ((const Bytef*)res->ptr())+4,res->length())) == Z_OK) { - buffer.length((uint32)new_size); + buffer.length((uint32) new_size); return &buffer; } - code= err==Z_BUF_ERROR ? ER_ZLIB_Z_BUF_ERROR : - err==Z_MEM_ERROR ? ER_ZLIB_Z_MEM_ERROR : ER_ZLIB_Z_DATA_ERROR; + code= ((err == Z_BUF_ERROR) ? ER_ZLIB_Z_BUF_ERROR : + ((err == Z_MEM_ERROR) ? ER_ZLIB_Z_MEM_ERROR : ER_ZLIB_Z_DATA_ERROR)); push_warning(current_thd,MYSQL_ERROR::WARN_LEVEL_ERROR,code,ER(code)); + +err: null_value= 1; return 0; } |