diff options
author | Kristofer Pettersson <kristofer.pettersson@sun.com> | 2009-11-20 16:18:01 +0100 |
---|---|---|
committer | Kristofer Pettersson <kristofer.pettersson@sun.com> | 2009-11-20 16:18:01 +0100 |
commit | 0a686030589dae2fe6bf99f4c3d4a73d4268a491 (patch) | |
tree | 2c684f720a7791634409c9607d9ffcd82d0d1b73 /sql/table.cc | |
parent | e942adb23dfca74fa8db76dbe40d72f0ceff4818 (diff) | |
download | mariadb-git-0a686030589dae2fe6bf99f4c3d4a73d4268a491.tar.gz |
Bug#45613 handle failures from my_hash_insert
Not all my_hash_insert() calls are checked for return value.
This patch adds appropriate checks and failure responses
where needed.
mysys/hash.c:
* Debug hook for testing failures in my_hash_insert()
Diffstat (limited to 'sql/table.cc')
-rw-r--r-- | sql/table.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sql/table.cc b/sql/table.cc index d2538eb4d59..35e8d83369f 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -1315,8 +1315,16 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, share->timestamp_field_offset= i; if (use_hash) - (void) my_hash_insert(&share->name_hash, - (uchar*) field_ptr); // never fail + if (my_hash_insert(&share->name_hash, (uchar*) field_ptr) ) + { + /* + Set return code 8 here to indicate that an error has + occurred but that the error message already has been + sent (OOM). + */ + error= 8; + goto err; + } } *field_ptr=0; // End marker |