Use mul_size when multiplying by the number of parallel workers.
That way, if the result overflows size_t, you'll get an error instead
of undefined behavior, which seems like a plus. This also has the
effect of casting the number of workers from int to Size, which is
better because it's harder to overflow int than size_t.
Dilip Kumar reported this issue and provided a patch upon which this
patch is based, but his version did use mul_size.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/06bd458cb812623c3f1fdd55216c4c08b06a8447
Modified Files
--------------
src/backend/access/transam/parallel.c | 6 ++++--
src/backend/executor/execParallel.c | 18 +++++++++++-------
2 files changed, 15 insertions(+), 9 deletions(-)