Prevent deep recursions on nested COLLATE operators.
FossilOrigin-Name: 6e098ee415f1a530e17a942c9ba51d67c25a3ebff6b97377b7858d0b10bcec92
diff --git a/src/expr.c b/src/expr.c
index 03fad6c..2d4a14c 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -3551,6 +3551,7 @@
return 0;
}
+expr_code_doover:
if( pExpr==0 ){
op = TK_NULL;
}else{
@@ -4011,7 +4012,8 @@
case TK_SPAN:
case TK_COLLATE:
case TK_UPLUS: {
- return sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target);
+ pExpr = pExpr->pLeft;
+ goto expr_code_doover;
}
case TK_TRIGGER: {