From: drh <> Date: Mon, 26 Dec 2022 16:45:44 +0000 (+0000) Subject: Fix an over-zealous assert() reported by Yong Heng. X-Git-Tag: version-3.40.1~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=103f51b6437d565574d389979228dbbd6f3b26ab;p=thirdparty%2Fsqlite.git Fix an over-zealous assert() reported by Yong Heng. FossilOrigin-Name: 1e9dbb5a1bcbf66acc1073e23791d1eb804af207de9bd08f4f7425cd3ff2e5c6 --- diff --git a/manifest b/manifest index bcea60cc71..067c7c7330 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Ensure\sthe\sRETURNING\sclause\sis\shonoured\swhen\sa\srow\sof\sa\stemp\stable\sis\supdated\sby\san\sON\sCONFLICT\sclause. -D 2022-12-26T16:24:52.828 +C Fix\san\sover-zealous\sassert()\sreported\sby\sYong\sHeng. +D 2022-12-26T16:45:44.334 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -713,7 +713,7 @@ F src/vdbe.c 0c7cb1b934ad8611e14e7efaf2c3a95df7dd3f7964d63ea07fef42a23df86131 F src/vdbe.h 58675f47dcf3105bab182c3ad3726efd60ffd003e954386904ac9107d0d2b743 F src/vdbeInt.h 17b7461ffcf9ee760d1341731715a419f6b8c763089a7ece25c2e8098d702b3f F src/vdbeapi.c 1e8713d0b653acb43cd1bdf579c40e005c4844ea90f414f065946a83db3c27fb -F src/vdbeaux.c 87684b89877eae0c58c78b340bb5356aa1c8fb1dd650b29410c8b745aeeb20b5 +F src/vdbeaux.c 8ebe337e82d99cf3b01cd4fd67103a5b0054d53fee8456b90dbeba46ebf97ceb F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd F src/vdbemem.c 6cfed43758d57b6e3b99d9cdedfeccd86e45a07e427b22d8487cbdbebb6c522a F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35 @@ -2055,9 +2055,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 71dd920f92457a30aff21665de5d6b8fcdcb06119022bb8fd950960c2e041216 -Q +a2449bcc2c71d0f4c3289621fbf1cb97f0f407c9f7b5bf18245b7854a07c6cfa -R 0d4d8b566e37c809da632a8d4b5bf89d +P ac9568cf87efe5e52cef030c0336761134253acb25f7e5343ccefaf526c96b41 +Q +6ee61f8cede4998f0c838d6506b058c6b09f34b3d7f30ed296100785c93f8d00 +R a921e31328d050a469842b2088f93af3 U drh -Z bfed9be29faacf3af515faa369c05fc1 +Z 22376e6f263f52852bb40dfb09063717 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index b024eceb14..c78bd49d17 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ac9568cf87efe5e52cef030c0336761134253acb25f7e5343ccefaf526c96b41 \ No newline at end of file +1e9dbb5a1bcbf66acc1073e23791d1eb804af207de9bd08f4f7425cd3ff2e5c6 \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 2e5e769d74..fd196f37bc 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -1457,7 +1457,7 @@ void sqlite3VdbeAppendP4(Vdbe *p, void *pP4, int n){ if( p->db->mallocFailed ){ freeP4(p->db, n, pP4); }else{ - assert( pP4!=0 ); + assert( pP4!=0 || n==P4_DYNAMIC ); assert( p->nOp>0 ); pOp = &p->aOp[p->nOp-1]; assert( pOp->p4type==P4_NOTUSED );