]> granicus.if.org Git - postgresql/commit
Fix possible internal overflow in numeric division.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 17 Nov 2015 20:46:47 +0000 (15:46 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 17 Nov 2015 20:46:54 +0000 (15:46 -0500)
commit80be41979e3ac2b17a4f985ee9249c78e3bafeb6
treed1412ef95ae69e4b0d74b3df815d066a0bc832df
parent331828b754378733cb5c2e49227603e7354e4e39
Fix possible internal overflow in numeric division.

div_var_fast() postpones propagating carries in the same way as mul_var(),
so it has the same corner-case overflow risk we fixed in 246693e5ae8a36f0,
namely that the size of the carries has to be accounted for when setting
the threshold for executing a carry propagation step.  We've not devised
a test case illustrating the brokenness, but the required fix seems clear
enough.  Like the previous fix, back-patch to all active branches.

Dean Rasheed
src/backend/utils/adt/numeric.c