Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Well, the intention there is to cast the first operand (which is uint32)
> so that it turns into signed 64-bits; the subtraction then occurs in 64
> bit arithmetic normally. If I let the subtraction occur in 32-bit width
> unsigned, the result might overflow 32 bits.
Uh ... is it really possible for gotlen to be more than total_len?
(I've not looked at the surrounding code here, but that seems weird.)
regards, tom lane