-C Fix\san\sincorrect\sassert()\sin\scheck-in\s[984c9b181801c1de]
-D 2026-06-20T21:54:18.923
+C Fix\sa\spotential\sinteger\soverflow\swhen\sdecoding\sa\scorrupt\skvvfs\sblock.\sBug\sreport\s[bugs:76acc88b57|2026-06-20T18:35:54Z].
+D 2026-06-21T08:13:22.016
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F src/os.c 9566966dd14376099fe8f715e744ab4fef204f55bd89126c5ddd06eb37df9457
F src/os.h 1ff5ae51d339d0e30d8a9d814f4b8f8e448169304d83a7ed9db66a65732f3e63
F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06
-F src/os_kv.c 8807692a584a5496e764df704e41e061e4a17eb578740fd26b155611aab5081e
+F src/os_kv.c e541742fb5d62848bf8d05ec2c95abeeb9334f57d1c60aa1c680c9c37e5ca5b8
F src/os_setup.h 8efc64eda6a6c2f221387eefc2e7e45fd5a3d5c8337a7a83519ba4fbd2957ae2
F src/os_unix.c 83759942d1ea8d59daed50901c123016f845fada74caf3496b8a2537c9a08838
F src/os_win.c 68b1c31693a5aeeb8126f618c95f7b53fb39e254836f9a95fbf2733461a7e01d
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P a396d7c54c5f251daaaac1e68321c2a54d3b6969599027c29b7ca7abe7fb8c4e
-R aaf0285a839431a4bb032764f55f992b
-U drh
-Z df5755c904f5557e7a754bd1dc52f8c1
+P 1d41c93b3636de63cc4b9ee49f73319429944f2255ab56d7556595f56434c17c
+R 744ebe01cf64c18272de128b6ad64fb5
+U stephan
+Z cd188760798b6554f026c5e4f2d0719d
# Remove this line to create a well-formed Fossil manifest.
while( 1 ){
c = kvvfsHexValue[aIn[i]];
if( c<0 ){
- int n = 0;
- int mult = 1;
+ sqlite3_int64 n = 0;
+ sqlite3_int64 mult = 1;
c = aIn[i];
if( c==0 ) break;
while( c>='a' && c<='z' ){
n += (c - 'a')*mult;
+ if( n>nOut ) return -1 /* oversized/malformed input */;
mult *= 26;
c = aIn[++i];
}
- if( j+n>nOut ) return -1;
+ if( j+n>nOut ) return -1 /* oversized/malformed input */;
memset(&aOut[j], 0, n);
j += n;
if( c==0 || mult==1 ) break; /* progress stalled if mult==1 */