From: drh Date: Tue, 20 Oct 2020 12:37:51 +0000 (+0000) Subject: Fix an assert() inside of debug-only code that can fail following an OOM. X-Git-Tag: version-3.34.0~49 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1a56fce614ff945827281208358c1864b522bc05;p=thirdparty%2Fsqlite.git Fix an assert() inside of debug-only code that can fail following an OOM. FossilOrigin-Name: 79da254f41a0d7d5fdc57f0cc40b3560bfcf7f79eed24a9fada1b6b4ca3adb5a --- diff --git a/manifest b/manifest index e3268ccd94..9a823e9a09 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\san\sincorrect\stable\sref-count\sin\sthe\snew\srecursive\sCTE\slogic\sthat\smight\nresult\sin\sa\sreference\sto\sfreed\smemory\sfollowing\sa\ssyntax\serror. -D 2020-10-19T20:49:54.635 +C Fix\san\sassert()\sinside\sof\sdebug-only\scode\sthat\scan\sfail\sfollowing\san\sOOM. +D 2020-10-20T12:37:51.678 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -613,7 +613,7 @@ F src/vdbe.c 6f3fb4f058c478b38c5280ccfc939745076c6a693999e49846c99fdc761c9c90 F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1 F src/vdbeInt.h 3ca5e9fd6e095a8b6cf6bc3587a46fc93499503b2fe48951e1034ba9e2ce2f6e F src/vdbeapi.c c5e7cb2ab89a24d7f723e87b508f21bfb1359a04db5277d8a99fd1e015c12eb9 -F src/vdbeaux.c b39d2e0e7126cd4629874dd7b67162b9f0d200b620d2b4c16d400949a2f1094b +F src/vdbeaux.c e84dbc64cc7d8fffc41ce27b2fe17eed0e66043c471f1f872bf029eb89752d17 F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1 F src/vdbemem.c 947f2a65910edb4014dc981d33e414a68c51f169f9df8c4c493a0ba840b6eb1f F src/vdbesort.c f5b5e473a7cee44e47a94817b042fd7172cf3aa2c0a7928a8339d612bcfdec5a @@ -1883,7 +1883,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 77e64647ec429c6e0d884abbd00dabebe738f89544a4984d6fd7a702b928ccfd -R 0c15a2499eb1c5aca61fe63f618e24c5 +P 75a0288871ccb2a69a636cbb328fe19045a0d0ef96a193ecd118b9a196784d2d +R 8238397a2980379334c8295b533cb894 U drh -Z f93dededcb8b1cf1b40f7b606d98b9f2 +Z 64f5a98fdc563dc665a2183f760ec9f1 diff --git a/manifest.uuid b/manifest.uuid index 90bca06c48..76a23f18bc 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -75a0288871ccb2a69a636cbb328fe19045a0d0ef96a193ecd118b9a196784d2d \ No newline at end of file +79da254f41a0d7d5fdc57f0cc40b3560bfcf7f79eed24a9fada1b6b4ca3adb5a \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 5dff54fc85..671aa97f14 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -1521,7 +1521,7 @@ char *sqlite3VdbeDisplayComment( sqlite3_str_appendf(&x, "%d", v1); }else if( pCtx->argc>1 ){ sqlite3_str_appendf(&x, "%d..%d", v1, v1+pCtx->argc-1); - }else{ + }else if( x.accError==0 ){ assert( x.nChar>2 ); x.nChar -= 2; ii++;