1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-10-23 21:49:02 +03:00

Prevent some potential NULL pointer deferences following misuse of the

non-standard amatch extension.
[bugs:/info/2026-08-25T16:47:32Z|Bug 2026-08-25T16:47:32Z].

FossilOrigin-Name: 99b69371a136d71e91b482e97e38bfbc3b0c1a63db6c75af5c83494fd758d4cd
This commit is contained in:
drh
2026-08-25 17:59:05 +00:00
parent 61387ffc4e
commit e18ff9bf54
3 changed files with 9 additions and 10 deletions

View File

@@ -1196,7 +1196,7 @@ static int amatchNext(sqlite3_vtab_cursor *cur){
rc = sqlite3_step(p->pVCheck);
if( rc==SQLITE_ROW ){
zW = (const char*)sqlite3_column_text(p->pVCheck, 0);
if( strncmp(zBuf, zW, nWord+nNextIn)==0 ){
if( zW!=0 && strncmp(zBuf, zW, nWord+nNextIn)==0 ){
amatchAddWord(pCur, pWord->rCost, pWord->nMatch+nNextIn, zBuf, "");
}
}
@@ -1211,7 +1211,7 @@ static int amatchNext(sqlite3_vtab_cursor *cur){
if( rc!=SQLITE_ROW ) break;
zW = (const char*)sqlite3_column_text(p->pVCheck, 0);
amatchStrcpy(zBuf+nWord, zNext);
if( strncmp(zW, zBuf, nWord)!=0 ) break;
if( zW==0 || strncmp(zW, zBuf, nWord)!=0 ) break;
if( (zNextIn[0]=='*' && zNextIn[1]==0)
|| (zNextIn[0]==0 && zW[nWord]==0)
){

View File

@@ -1,5 +1,5 @@
C New\soptimizations\sfor\simproved\sperformance\sof\sUNION\swith\sLIMIT\s1,\swith\nor\swithout\sORDER\sBY.
D 2026-08-25T17:12:09.970
C Prevent\ssome\spotential\sNULL\spointer\sdeferences\sfollowing\smisuse\sof\sthe\nnon-standard\samatch\sextension.\n[bugs:/info/2026-08-25T16:47:32Z|Bug\s2026-08-25T16:47:32Z].
D 2026-08-25T17:59:05.379
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -361,7 +361,7 @@ F ext/jni/src/tests/000-000-sanity.test c3427a0e0ac84d7cbe4c95fdc1cd4b61f9ddcf43
F ext/jni/src/tests/000-001-ignored.test e17e874c6ab3c437f1293d88093cf06286083b65bf162317f91bbfd92f961b70
F ext/jni/src/tests/900-001-fts.test bf0ce17a8d082773450e91f2388f5bbb2dfa316d0b676c313c637a91198090f0
F ext/misc/README.md 6243cdc4d7eb791c41ef0716f3980b8b5f6aa8c61ff76a3958cbf0031c6ebfa7
F ext/misc/amatch.c 5acea67d903802012f940926c652c2aeda27784c53a79b3cf125f456a39f5cf5
F ext/misc/amatch.c 39b63a0ece56a903efb8ede1e68db4250ae774c754c9a672474d13dfaf3f2e32
F ext/misc/anycollseq.c 5ffdfde9829eeac52219136ad6aa7cd9a4edb3b15f4f2532de52f4a22525eddb
F ext/misc/appendvfs.c 7ad2cdf861399bff503f7e510bfbbc18a4529752255d9766f3a24ced67cb68c5
F ext/misc/base64.c 1445761667c16356e827fc6418294c869468be934429aaa8315035e76dd58acf
@@ -2219,9 +2219,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
P c89f4f79676f34cd8399f4a8a3934ad63d4547b9528e736bad1ee0e6f5fe6305 e78b72fadfe4c263f5af56aa887891a49055edfccda9397267804b3aaf4afd53
R f0bf0f57d459e0ea6ee0b13b3376f8b2
T +closed e78b72fadfe4c263f5af56aa887891a49055edfccda9397267804b3aaf4afd53
P b5b8ede613c40cf4a1ad0fe2af9b98d410982e0680b1da00c67ff1c2c34e0d6b
R c30a93d99759bd0c694570c23df49671
U drh
Z 197d97631f296c0f81b1f94a1483a388
Z fe74828ab68122f6ab6930a711a6c556
# Remove this line to create a well-formed Fossil manifest.

View File

@@ -1 +1 @@
b5b8ede613c40cf4a1ad0fe2af9b98d410982e0680b1da00c67ff1c2c34e0d6b
99b69371a136d71e91b482e97e38bfbc3b0c1a63db6c75af5c83494fd758d4cd