summaryrefslogtreecommitdiff
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:31:55 +0300
commit443a44ba62c3b3089456ddcf72df695d3c77bee3 (patch)
tree7ca7ea652add0747c31eb27e54e45ba2763b730a
parent8daf82ef85863378a310a187c5ddff846e7d0a74 (diff)
downloadpostgresql-443a44ba62c3b3089456ddcf72df695d3c77bee3.tar.gz
Avoid integer overflow when LIMIT + OFFSET >= 2^63.
This fixes bug #6139 reported by Hitoshi Harada.
-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 7557e735b6..2dd472f9bc 100644
--- a/src/backend/executor/nodeLimit.c
+++ b/src/backend/executor/nodeLimit.c
@@ -120,7 +120,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;