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);
     }
   }