summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Korotkov <akorotkov@postgresql.org>2019-04-15 20:20:43 +0300
committerAlexander Korotkov <akorotkov@postgresql.org>2019-04-15 20:20:43 +0300
commit1e871981823a68ec9e0174b652e8d27e05ce08bb (patch)
tree05dd84aeb2d997b1c9722586ce88a3887dc8eadd
parent3a45321a491711b556d2cf8f6904ab989b9d0b08 (diff)
downloadpostgresql-1e871981823a68ec9e0174b652e8d27e05ce08bb.tar.gz
Fix division by zero in _bt_vacuum_needs_cleanup()
Checks inside _bt_vacuum_needs_cleanup() allow division by zero to happen when metad->btm_last_cleanup_num_heap_tuples == 0. This commit adjusts the expression so that no division by zero might happen. Reported-by: Piotr Stefaniak Discussion: https://postgr.es/m/DB8PR03MB5931C41F7787A95313F08322F22A0%40DB8PR03MB5931.eurprd03.prod.outlook.com Reviewed-by: Masahiko Sawada Backpatch-through: 11
-rw-r--r--src/backend/access/nbtree/nbtree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c
index 7370379c6a..02fb352b94 100644
--- a/src/backend/access/nbtree/nbtree.c
+++ b/src/backend/access/nbtree/nbtree.c
@@ -835,7 +835,7 @@ _bt_vacuum_needs_cleanup(IndexVacuumInfo *info)
prev_num_heap_tuples = metad->btm_last_cleanup_num_heap_tuples;
if (cleanup_scale_factor <= 0 ||
- prev_num_heap_tuples < 0 ||
+ prev_num_heap_tuples <= 0 ||
(info->num_heap_tuples - prev_num_heap_tuples) /
prev_num_heap_tuples >= cleanup_scale_factor)
result = true;