diff options
author | Alexander Korotkov | 2019-04-15 17:20:43 +0000 |
---|---|---|
committer | Alexander Korotkov | 2019-04-15 17:20:43 +0000 |
commit | 1e871981823a68ec9e0174b652e8d27e05ce08bb (patch) | |
tree | 05dd84aeb2d997b1c9722586ce88a3887dc8eadd /src/backend/access/nbtree/nbtree.c | |
parent | 3a45321a491711b556d2cf8f6904ab989b9d0b08 (diff) |
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
Diffstat (limited to 'src/backend/access/nbtree/nbtree.c')
-rw-r--r-- | src/backend/access/nbtree/nbtree.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index 7370379c6a1..02fb352b94a 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; |