aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeLimit.c
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2011-08-02 10:47:17 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2011-08-02 10:47:17 +0300
commit89df948ec26679e09f71baf6bbb9b06f9d329712 (patch)
tree8771b7a6db05cbf1434c348bf7c8f0be81cc87e6 /src/backend/executor/nodeLimit.c
parent85b436f7b1f06a6ffa8d2f29b03d6e440de18784 (diff)
downloadpostgresql-89df948ec26679e09f71baf6bbb9b06f9d329712.tar.gz
postgresql-89df948ec26679e09f71baf6bbb9b06f9d329712.zip
Avoid integer overflow when LIMIT + OFFSET >= 2^63.
This fixes bug #6139 reported by Hitoshi Harada.
Diffstat (limited to 'src/backend/executor/nodeLimit.c')
-rw-r--r--src/backend/executor/nodeLimit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/executor/nodeLimit.c b/src/backend/executor/nodeLimit.c
index 85d1a6e27f1..f2d356d1f18 100644
--- a/src/backend/executor/nodeLimit.c
+++ b/src/backend/executor/nodeLimit.c
@@ -127,7 +127,7 @@ ExecLimit(LimitState *node)
* the state machine state to record having done so.
*/
if (!node->noCount &&
- node->position >= node->offset + node->count)
+ node->position - node->offset >= node->count)
{
node->lstate = LIMIT_WINDOWEND;
return NULL;