aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordrh <>2021-10-07 13:40:29 +0000
committerdrh <>2021-10-07 13:40:29 +0000
commitf9751074377d444231f7e9a05404a87051f10c8a (patch)
tree0bc16bb38d130a22c65fcd4f501f72eeef2ce790 /src/insert.c
parent78b2fa8610bd2d149af7746faa79f095e505550c (diff)
downloadsqlite-f9751074377d444231f7e9a05404a87051f10c8a.tar.gz
sqlite-f9751074377d444231f7e9a05404a87051f10c8a.zip
Protect all accesses to the FuncDef.u and Expr.u unions using nearby
assert()s or branches. FossilOrigin-Name: 9af863f065e0bef491c2ab7525194505f9516f4e6dfc789d2e3a9d2c2438533a
Diffstat (limited to 'src/insert.c')
-rw-r--r--src/insert.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/insert.c b/src/insert.c
index 84b998a64..d8948e605 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -2901,7 +2901,9 @@ static int xferOptimization(
Expr *pDestExpr = sqlite3ColumnExpr(pDest, pDestCol);
Expr *pSrcExpr = sqlite3ColumnExpr(pSrc, pSrcCol);
assert( pDestExpr==0 || pDestExpr->op==TK_SPAN );
+ assert( pDestExpr==0 || !ExprHasProperty(pDestExpr, EP_IntValue) );
assert( pSrcExpr==0 || pSrcExpr->op==TK_SPAN );
+ assert( pSrcExpr==0 || !ExprHasProperty(pSrcExpr, EP_IntValue) );
if( (pDestExpr==0)!=(pSrcExpr==0)
|| (pDestExpr!=0 && strcmp(pDestExpr->u.zToken,
pSrcExpr->u.zToken)!=0)