aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor
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 11:29:43 +0300
commitbc6616aaedbe4bcd2441334a3bf8f43fe9635bf1 (patch)
tree0575a5eda28cb572e54841275a904ebbf21a7a17 /src/backend/executor
parentc1b910ed189a04c199fc1fb146262053827b524f (diff)
downloadpostgresql-bc6616aaedbe4bcd2441334a3bf8f43fe9635bf1.tar.gz
postgresql-bc6616aaedbe4bcd2441334a3bf8f43fe9635bf1.zip
Avoid integer overflow when LIMIT + OFFSET >= 2^63.
This fixes bug #6139 reported by Hitoshi Harada.
Diffstat (limited to 'src/backend/executor')
-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;