Due to an incorrect merge from MySQL 5.6 to MySQL 5.7 a bug fix and a test that were included in MySQL 5.6 were omitted from MySQL 5.7.
That is, contrary to the claim in MySQL Bug #77497 the bug was not fixed in MySQL 5.7.10 nor 8.0.0 (née 5.8.0).
The first affected version is MariaDB 10.2.2, because it imported MySQL 5.7.9.
Also the fix in MySQL 5.6.28 looks incomplete; all callers of btr_page_alloc() should check for NULL value and always propagate the error to the caller. I think we should improve this in MariaDB 10.0 already.