Index: ext/misc/dbdata.c ================================================================== --- ext/misc/dbdata.c +++ ext/misc/dbdata.c @@ -299,11 +299,14 @@ */ static unsigned int get_uint16(unsigned char *a){ return (a[0]<<8)|a[1]; } static unsigned int get_uint32(unsigned char *a){ - return (a[0]<<24)|(a[1]<<16)|(a[2]<<8)|a[3]; + return ((unsigned int)a[0]<<24) + | ((unsigned int)a[1]<<16) + | ((unsigned int)a[2]<<8) + | ((unsigned int)a[3]); } /* ** Load page pgno from the database via the sqlite_dbpage virtual table. ** If successful, set (*ppPage) to point to a buffer containing the page Index: src/shell.c.in ================================================================== --- src/shell.c.in +++ src/shell.c.in @@ -6631,11 +6631,11 @@ ")" "INSERT INTO recovery.map(pgno, maxlen, intkey, root) " " SELECT i, maxlen, NULL, (" " WITH p(orig, pgno, parent) AS (" " SELECT 0, i, (SELECT pgno FROM recovery.dbptr WHERE child=i)" - " UNION ALL" + " UNION " " SELECT i, p.parent, " " (SELECT pgno FROM recovery.dbptr WHERE child=p.parent) FROM p" " )" " SELECT pgno FROM p WHERE (parent IS NULL OR pgno = orig)" ") "