aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2018-06-18 17:36:41 +0000
committerdan <dan@noemail.net>2018-06-18 17:36:41 +0000
commitf87e10c75ebb107c98ebf441d0cc753ec2442a54 (patch)
treef566deb9c98d6f8c2489425d414f4d1367fde5e4 /src/main.c
parent660af939b00f8a8d44d67f0dce5824ee07750d45 (diff)
downloadsqlite-f87e10c75ebb107c98ebf441d0cc753ec2442a54.tar.gz
sqlite-f87e10c75ebb107c98ebf441d0cc753ec2442a54.zip
Ensure that all four callbacks are provided when registering a window function
(otherwise SQLITE_MISUSE is returned). FossilOrigin-Name: 5720dcd8b111b1f8712c8fb4b441ccb129e838db8c26a6e9e0f095dc6a851f6b
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 9f6061bea..78a8d61aa 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1696,6 +1696,7 @@ int sqlite3CreateFunc(
(xSFunc && (xFinal || xStep)) ||
(!xSFunc && (xFinal && !xStep)) ||
(!xSFunc && (!xFinal && xStep)) ||
+ ((xValue || xInverse) && (!xStep || !xFinal || !xValue || !xInverse)) ||
(nArg<-1 || nArg>SQLITE_MAX_FUNCTION_ARG) ||
(255<(nName = sqlite3Strlen30( zFunctionName))) ){
return SQLITE_MISUSE_BKPT;