diff options
author | monty@mysql.com <> | 2005-07-04 03:50:04 +0300 |
---|---|---|
committer | monty@mysql.com <> | 2005-07-04 03:50:04 +0300 |
commit | fe30ec903276029beca788d99a28cb544d7ae528 (patch) | |
tree | 8d29892167ff9d836d0992c219bf4307f1c03b75 /sql/field.cc | |
parent | 75ff7d8085cb5f1a489638a0b419c97fc5a6e9b4 (diff) | |
parent | ec420bfb43b22db63a622d5c4f6498481070bb0c (diff) | |
download | mariadb-git-fe30ec903276029beca788d99a28cb544d7ae528.tar.gz |
manual merge
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 9 |
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) ¬_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) |