summaryrefslogtreecommitdiff
path: root/storage/innobase/row
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-11-17 14:49:12 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2021-11-17 14:49:12 +0200
commit5489ce0ae1cb5c5bd6d4e75ae587aadc6e4b4d48 (patch)
tree6656f708fe638a56677d26d64440b4b37a1e763a /storage/innobase/row
parentebb15f986f18ec33f35617f75c932a48350cd579 (diff)
parent70e788b1e588106f332b88f435e588de3b103e04 (diff)
downloadmariadb-git-5489ce0ae1cb5c5bd6d4e75ae587aadc6e4b4d48.tar.gz
Merge 10.4 into 10.5
Diffstat (limited to 'storage/innobase/row')
-rw-r--r--storage/innobase/row/row0import.cc26
1 files changed, 11 insertions, 15 deletions
diff --git a/storage/innobase/row/row0import.cc b/storage/innobase/row/row0import.cc
index 4e764302b8b..45cc8c278b5 100644
--- a/storage/innobase/row/row0import.cc
+++ b/storage/innobase/row/row0import.cc
@@ -3109,9 +3109,8 @@ static dberr_t decrypt_decompress(fil_space_crypt_t *space_crypt,
if (!buf_page_verify_crypt_checksum(data, space_flags))
return DB_CORRUPTION;
- dberr_t err;
- if (!fil_space_decrypt(space_id, space_crypt, data, page.size(),
- space_flags, data, &err) || err != DB_SUCCESS)
+ if (dberr_t err= fil_space_decrypt(space_id, space_crypt, data,
+ page.size(), space_flags, data))
return err;
}
@@ -3825,9 +3824,12 @@ page_corrupted:
if (!buf_page_verify_crypt_checksum(readptr, m_space_flags))
goto page_corrupted;
- if (!fil_space_decrypt(get_space_id(), iter.crypt_data, readptr,
- size, m_space_flags, readptr, &err) ||
- err != DB_SUCCESS)
+ if (ENCRYPTION_KEY_NOT_ENCRYPTED ==
+ buf_page_get_key_version(readptr, m_space_flags))
+ goto page_corrupted;
+
+ if ((err= fil_space_decrypt(get_space_id(), iter.crypt_data, readptr, size,
+ m_space_flags, readptr)))
goto func_exit;
}
@@ -3978,7 +3980,6 @@ page_corrupted:
if (!encrypted) {
} else if (!key_version) {
-not_encrypted:
if (block->page.id().page_no() == 0
&& block->page.zip.data) {
block->page.zip.data = src;
@@ -3997,21 +3998,16 @@ not_encrypted:
goto page_corrupted;
}
- decrypted = fil_space_decrypt(
+ if ((err = fil_space_decrypt(
actual_space_id,
iter.crypt_data, dst,
callback.physical_size(),
callback.get_space_flags(),
- src, &err);
-
- if (err != DB_SUCCESS) {
+ src))) {
goto func_exit;
}
- if (!decrypted) {
- goto not_encrypted;
- }
-
+ decrypted = true;
updated = true;
}