From: drh <> Date: Sun, 16 Nov 2025 01:03:53 +0000 (+0000) Subject: Improved error detection in the argument to .mode --widths. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=36a54c001ea738e8b60eb4b9db5d194f71dc897d;p=thirdparty%2Fsqlite.git Improved error detection in the argument to .mode --widths. FossilOrigin-Name: 4d774ee495e38282b8701988fe514344ee0e81285692c8d1adc1ee7e22960ad9 --- diff --git a/manifest b/manifest index 3c5d5a21b6..170a190f2d 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sformatting\sproblem\sin\s.schema\sand\s.fullschema -D 2025-11-16T00:56:24.324 +C Improved\serror\sdetection\sin\sthe\sargument\sto\s.mode\s--widths. +D 2025-11-16T01:03:53.489 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -735,7 +735,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 5616fbcf3b833c7c705b24371828215ad0925d0c0073216c4f153348d5753f0a F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c ba9cd07ffa3277883c1986085f6ddc4320f4d35d5f212ab58df79a7ecc1a576a -F src/shell.c.in 26cbd24bbb68cfff4d93322d43b89ec9d85f9613a64319687109666b45c66a87 +F src/shell.c.in a1ce74a73eec905323f66a20efed4cd878b198876de4c57d0bd76685efde680d F src/sqlite.h.in 795ce84cc136b4e74d882cf4fab56d2927c20b9af9fd2fcea27760a6fe50851b F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 5d5330f5f8461f5ce74960436ddcfa53ecd09c2b8b23901e22ae38aec3243998 @@ -2176,8 +2176,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P dcaabd97d5064dd70fb386a2eef55f4301bba4b54915ed6a91d736abe7a04ae8 -R 4188cda14f549809f9d9a61b9949d27e +P 4035fb15ff36d139ed4c839fdebb0278e6cf9a2f00298e1a548a8f8317ba14b2 +R 34d2aaec9c670d29863d9b6ae92ece00 U drh -Z 7f207cbecc68ff24a1a9e9ab350c308a +Z c75b500355bf86d63dd377a65bcb74ed # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 89eadc8b16..d8cd408795 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4035fb15ff36d139ed4c839fdebb0278e6cf9a2f00298e1a548a8f8317ba14b2 +4d774ee495e38282b8701988fe514344ee0e81285692c8d1adc1ee7e22960ad9 diff --git a/src/shell.c.in b/src/shell.c.in index 6ad0267d3b..a59538f620 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -7584,6 +7584,7 @@ static int dotCmdMode(ShellState *p){ while( isspace(zW[0]) ) zW++; while( zW[0] ){ int w = 0; + int nDigit = 0; k = zW[0]=='-' && isdigit(zW[1]); while( isdigit(zW[k]) ){ w = w*10 + zW[k] - '0'; @@ -7593,8 +7594,15 @@ static int dotCmdMode(ShellState *p){ free(aWidth); return 1; } + nDigit++; k++; } + if( nDigit==0 ){ + dotCmdError(p,i+1,"syntax error", + "should be a comma-separated list if integers"); + free(aWidth); + return 1; + } if( zW[0]=='-' ) w = -w; aWidth[nWidth++] = w; zW += k;