aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <Dan Kennedy>2021-03-31 11:31:19 +0000
committerdan <Dan Kennedy>2021-03-31 11:31:19 +0000
commitb03786ad6e89e1b38d94dfe9ca48aee921a97196 (patch)
tree3caedbc4a8f70cb4d9af902ab1ad9cfef5b46b2b /src
parent0d23f678b1d26a469a801c1e80f46003c55cf2e1 (diff)
downloadsqlite-b03786ad6e89e1b38d94dfe9ca48aee921a97196.tar.gz
sqlite-b03786ad6e89e1b38d94dfe9ca48aee921a97196.zip
Ensure that negative numbers may not be used in frame offset clauses even if they are initially text value. e.g. (RANGE BETWEEN '-1' PRECEDING ...).
FossilOrigin-Name: 8b681b274dd01c3e0f76d5bbddcbb2450c6d9475b9cfa0db961a3ab5edf51db1
Diffstat (limited to 'src')
-rw-r--r--src/window.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index 26a82a9e3..33e905e53 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1469,6 +1469,7 @@ static void windowCheckValue(Parse *pParse, int reg, int eCond){
VdbeCoverageIf(v, eCond==2);
}
sqlite3VdbeAddOp3(v, aOp[eCond], regZero, sqlite3VdbeCurrentAddr(v)+2, reg);
+ sqlite3VdbeChangeP5(v, SQLITE_AFF_NUMERIC);
VdbeCoverageNeverNullIf(v, eCond==0); /* NULL case captured by */
VdbeCoverageNeverNullIf(v, eCond==1); /* the OP_MustBeInt */
VdbeCoverageNeverNullIf(v, eCond==2);