From: drh Date: Sun, 19 Apr 2015 23:11:10 +0000 (+0000) Subject: Fix an off-by-one assert() in the virtual table argument tokenizer. X-Git-Tag: version-3.8.10~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=542a176d5e6fb2446265bdda5c0db79448a4be63;p=thirdparty%2Fsqlite.git Fix an off-by-one assert() in the virtual table argument tokenizer. FossilOrigin-Name: c83052e48bbae0f45db2a44155b4e5482ee4a901 --- diff --git a/manifest b/manifest index 806b4e4f19..340322d8fa 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sbroken\sassert()\sand\scomparison\sfor\sINSERT\sINTO\s...\sSELECT\swhen\sthe\nSELECT\suses\san\sunknown\scollating\ssequence. -D 2015-04-19T22:41:22.682 +C Fix\san\soff-by-one\sassert()\sin\sthe\svirtual\stable\sargument\stokenizer. +D 2015-04-19T23:11:10.399 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in faaf75b89840659d74501bea269c7e33414761c1 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -302,7 +302,7 @@ F src/vdbeblob.c 4f2e8e075d238392df98c5e03a64342465b03f90 F src/vdbemem.c c0dc81285b7571b0a31c40f17846fe2397ec1cd9 F src/vdbesort.c 2e7f683464fd5db3be4beaa1ff2d39e24fcb64b8 F src/vdbetrace.c f95c2dff9041fcf07f871789c22ebb0648ea0b7c -F src/vtab.c 4feb365e2688dd02474e671e37f27e35784d2cff +F src/vtab.c 5f81f8a59c1f5ddb94c918f25ed5d83578fcc633 F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb F src/wal.c 753995db83247f20361a8e8a874990b21a75abd9 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 @@ -1251,7 +1251,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 2cb37b959c66b5ae3535ab81ba14a4ebf9732df7 -R e2cf191d4292c134d8577e2e34e33df7 +P e73ac0cbac257d2d2b28e51423e30d7449b6c7b5 +R 70d28450bd13a75aeed954614a2f2b46 U drh -Z 7931b9be35191227870d2d70e1da695e +Z 2b960b7774bbbdaf4d5bf53bdfe32951 diff --git a/manifest.uuid b/manifest.uuid index aa056fdc0a..a3ebe5f013 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e73ac0cbac257d2d2b28e51423e30d7449b6c7b5 \ No newline at end of file +c83052e48bbae0f45db2a44155b4e5482ee4a901 \ No newline at end of file diff --git a/src/vtab.c b/src/vtab.c index ad65cdf7f4..2c6d106794 100644 --- a/src/vtab.c +++ b/src/vtab.c @@ -472,7 +472,7 @@ void sqlite3VtabArgExtend(Parse *pParse, Token *p){ pArg->z = p->z; pArg->n = p->n; }else{ - assert(pArg->z < p->z); + assert(pArg->z <= p->z); pArg->n = (int)(&p->z[p->n] - pArg->z); } }