summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-07-15 19:25:24 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-07-15 19:41:01 +0300
commit38b4c078333205db1381fac66fe9ba7111a3f216 (patch)
treeb4593a88de0a7ab5a1a5f31481b2909518e29485
parent9c8420fe8c97e0795af566d0e5ce2bcaac15e823 (diff)
downloadmariadb-git-38b4c078333205db1381fac66fe9ba7111a3f216.tar.gz
MDEV-23183 Infinite loop on page_validate() on corrupted page
MDEV-22721 (commit eba2d10ac53d1d2f975027ba2b2ca39d9c9b98ad) inadvertently introduced an infinite loop. page_validate(): Remove the infinite loop.
-rw-r--r--storage/innobase/page/page0page.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/storage/innobase/page/page0page.cc b/storage/innobase/page/page0page.cc
index d28d2f9a082..db33d13db1c 100644
--- a/storage/innobase/page/page0page.cc
+++ b/storage/innobase/page/page0page.cc
@@ -2,7 +2,7 @@
Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2012, Facebook Inc.
-Copyright (c) 2017, 2019, MariaDB Corporation.
+Copyright (c) 2017, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -2442,7 +2442,9 @@ func_exit2:
ib::error() << "Apparent corruption in space "
<< page_get_space_id(page) << " page "
<< page_get_page_no(page) << " index " << index->name;
+ return FALSE;
}
+
if (page_is_comp(page)) {
if (UNIV_UNLIKELY(!page_simple_validate_new(page))) {
goto func_exit2;