From: drh <> Date: Wed, 17 May 2023 13:21:45 +0000 (+0000) Subject: Improved assertions on substExpr(). X-Git-Tag: version-3.43.0~268 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9c9b33cbaf65be1604bd419af0e3d00c52523fd8;p=thirdparty%2Fsqlite.git Improved assertions on substExpr(). FossilOrigin-Name: 6dbd5b3cc801a75ea23842a43eb7106b62fc1d26dd5a8477a0217325539a7c1a --- diff --git a/manifest b/manifest index 0958b9a6b1..eed6d4943a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\san\sassert()\sfailure\sthat\scould\soccur\sin\sSQLITE_ENABLE_UPDATE_DELETE_LIMIT\sbuilds\swhen\sa\sWITH\sclause\sattached\sto\san\sUPDATE\sor\sDELETE\sstatement\screated\sa\sCTE\sof\sthe\ssame\sname\sas\sthe\stable\sbeing\smodified. -D 2023-05-17T11:31:51.631 +C Improved\sassertions\son\ssubstExpr(). +D 2023-05-17T13:21:45.536 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -636,7 +636,7 @@ F src/printf.c b9320cdbeca0b336c3f139fd36dd121e4167dd62b35fbe9ccaa9bab44c0af38d F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 3e53e02ce87c9582bd7e7d22f13f4094a271678d9dc72820fa257a2abb5e4032 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 -F src/select.c 738c3a3d6929f8be66c319bad17f6b297bd60a4eb14006075c48a28487dc7786 +F src/select.c 0937f89a8a020833eaca73a8c9e7661bfbf9b52905520a77993b9ce683dfbccb F src/shell.c.in 52836b4002a2cad8095b451f0c39a6542c23a231eb0ed5e39387bc8b1f7aaa9e F src/sqlite.h.in c14a4471fcd897a03631ac7ad3d05505e895e7b6419ec5b96cae9bc4df7a9fc6 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -2070,8 +2070,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 8504fe812c5b4956c8acad515d537add54cb591bc81747113f9b24526d7685b8 -R a156a5c1f0ce2693a70c2ded17a1465f -U dan -Z 386ca9e89e2e385e79c01ecd02e713f0 +P 8edf56d1698c3db38250db3b25864f658488414efb3a6b3e1443283b6affd26d +R a4647a269033ddd26aa7948de3cb72b7 +U drh +Z 7edb57aabaf0dfbae2ad52873189ffc5 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index f48a0f1f7e..480e6c6152 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8edf56d1698c3db38250db3b25864f658488414efb3a6b3e1443283b6affd26d \ No newline at end of file +6dbd5b3cc801a75ea23842a43eb7106b62fc1d26dd5a8477a0217325539a7c1a \ No newline at end of file diff --git a/src/select.c b/src/select.c index f32db2c2a0..3eeb53c075 100644 --- a/src/select.c +++ b/src/select.c @@ -3851,11 +3851,14 @@ static Expr *substExpr( #endif { Expr *pNew; - int iColumn = pExpr->iColumn; - Expr *pCopy = pSubst->pEList->a[iColumn].pExpr; + int iColumn; + Expr *pCopy; Expr ifNullRow; + iColumn = pExpr->iColumn; + assert( iColumn>=0 ); assert( pSubst->pEList!=0 && iColumnpEList->nExpr ); assert( pExpr->pRight==0 ); + pCopy = pSubst->pEList->a[iColumn].pExpr; if( sqlite3ExprIsVector(pCopy) ){ sqlite3VectorErrorMsg(pSubst->pParse, pCopy); }else{