From: drh <> Date: Thu, 30 Oct 2025 10:36:10 +0000 (+0000) Subject: Prevent a harmless signed integer overflow in the CLI if the argument X-Git-Tag: major-release~27 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cb36dc3f3e4f5c72aea074e98b1bd87381bf80fa;p=thirdparty%2Fsqlite.git Prevent a harmless signed integer overflow in the CLI if the argument to the --skip option of the ".inport" command is -9223372036854775808. FossilOrigin-Name: 247277d9373cb2614a1bc4c1e08b904315e5e8c0c2a7fbe9c2ac651481601642 --- diff --git a/manifest b/manifest index 4f62014ebd..1804028a03 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\san\sOMIT_WAL\sfrom\sthe\swasm\sbuild\sbecause\sit\sbreaks\swith\sthe\scurrent\samalgamation\s(and\sisn't\sstrictly\sneeded\shere\sanyway). -D 2025-10-30T01:43:30.495 +C Prevent\sa\sharmless\ssigned\sinteger\soverflow\sin\sthe\sCLI\sif\sthe\sargument\nto\sthe\s--skip\soption\sof\sthe\s".inport"\scommand\sis\s-9223372036854775808. +D 2025-10-30T10:36:10.874 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -736,7 +736,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c f8d1d011aba0964ff1bdccd049d4d2c2fec217efd90d202a4bb775e926b2c25d F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c b95181711d59c36d9789e67f76c4cfec64b99f9629a50be5e6566e117b87d957 -F src/shell.c.in ce9953719b1e544e71cc47f3b9b699440e4f441418506c0913484c58a27b36b6 +F src/shell.c.in cdb6d741c515fdcc7957a2f10e51d5b49f52b628f0f88e005cc206588e614832 F src/sqlite.h.in f7944026ee89ea348f89aec56372d6d25b6cafc1d89df741278d6917e86326a3 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 7f236ca1b175ffe03316d974ef57df79b3938466c28d2f95caef5e08c57f3a52 @@ -2171,8 +2171,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 095cc4f22e63c98cbb2acabdbcaf02e59e67ec6d3cc219b5f42a714e3d53a264 -R e10bcc8f8be9e4f18fc231916a0e6b84 -U stephan -Z 50b0b2170434e88c9c5333d85d191c43 +P a7be7d155aa6f02075f939ab6d26cfdfe2d0832b59da39c8bf4a74fc4845bd05 +R f468ecedeb30cd67397eb0c0bd9c5d77 +U drh +Z 8dce804823bfd278976a90c9488c60e6 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 24c6f30c11..1c1d73279b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a7be7d155aa6f02075f939ab6d26cfdfe2d0832b59da39c8bf4a74fc4845bd05 +247277d9373cb2614a1bc4c1e08b904315e5e8c0c2a7fbe9c2ac651481601642 diff --git a/src/shell.c.in b/src/shell.c.in index bd20e1a4cc..c7b1c199b6 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -9697,7 +9697,8 @@ static int do_meta_command(char *zLine, ShellState *p){ shell_out_of_memory(); } /* Below, resources must be freed before exit. */ - while( (nSkip--)>0 ){ + while( nSkip>0 ){ + nSkip--; while( xRead(&sCtx) && sCtx.cTerm==sCtx.cColSep ){} } import_append_char(&sCtx, 0); /* To ensure sCtx.z is allocated */