summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2005-07-04 03:50:04 +0300
committermonty@mysql.com <>2005-07-04 03:50:04 +0300
commitfe30ec903276029beca788d99a28cb544d7ae528 (patch)
tree8d29892167ff9d836d0992c219bf4307f1c03b75 /sql/field.cc
parent75ff7d8085cb5f1a489638a0b419c97fc5a6e9b4 (diff)
parentec420bfb43b22db63a622d5c4f6498481070bb0c (diff)
downloadmariadb-git-fe30ec903276029beca788d99a28cb544d7ae528.tar.gz
manual merge
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 56bb40e0f8f..925fca8ac43 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -2486,7 +2486,7 @@ int Field_new_decimal::store(longlong nr)
int err;
if ((err= int2my_decimal(E_DEC_FATAL_ERROR & ~E_DEC_OVERFLOW,
- nr, false, &decimal_value)))
+ nr, FALSE, &decimal_value)))
{
if (check_overflow(err))
set_value_on_overflow(&decimal_value, decimal_value.sign());
@@ -6829,7 +6829,12 @@ int Field_blob::store(const char *from,uint length,CHARSET_INFO *cs)
&not_used)))
{
uint conv_errors;
- tmpstr.copy(from, length, cs, field_charset, &conv_errors);
+ if (tmpstr.copy(from, length, cs, field_charset, &conv_errors))
+ {
+ /* Fatal OOM error */
+ bzero(ptr,Field_blob::pack_length());
+ return -1;
+ }
from= tmpstr.ptr();
length= tmpstr.length();
if (conv_errors)