diff -ur sqlite-amalgamation-3530400/sqlite3.c ../sqlite-amalgamation-3530400/sqlite3.c
--- sqlite-amalgamation-3530400/sqlite3.c	2026-07-24 21:28:52.000000000 +0200
+++ ../sqlite-amalgamation-3530400/sqlite3.c	2026-08-07 17:25:48.456964400 +0200
@@ -234100,7 +234100,9 @@
 ** bytes read.
 */
 static int sessionVarintGet(const u8 *aBuf, int *piVal){
-  return getVarint32(aBuf, *piVal);
+  int ret = getVarint32(aBuf, *piVal);
+  *piVal = (*piVal & 0x7FFFFFFF);
+  return ret;
 }
 
 /*
@@ -234115,7 +234117,7 @@
     memcpy(aCopy, aBuf, nBuf);
     aRead = aCopy;
   }
-  return getVarint32(aRead, *piVal);
+  return sessionVarintGet(aRead, piVal);
 }
 
 /* Load an unaligned and unsigned 32-bit integer */
