diff -dupr a/sqlite3.c b/sqlite3.c --- a/sqlite3.c 2017-06-08 08:09:52.000000000 -0700 +++ b/sqlite3.c 2017-07-14 14:11:49.114553056 -0700 @@ -167480,6 +167480,10 @@ static int getNodeSize( rc = getIntFromStmt(db, zSql, &pRtree->iNodeSize); if( rc!=SQLITE_OK ){ *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + }else if( pRtree->iNodeSize<(512-64) ){ + rc = SQLITE_CORRUPT; + *pzErr = sqlite3_mprintf("undersize RTree blobs in \"%q_node\"", + pRtree->zName); } }