Re: 64-bit integer subtraction bug on some platforms

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
Cc: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: 64-bit integer subtraction bug on some platforms
Date: 2023-11-08 16:08:05
Message-ID: 685674.1699459685@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> writes:
> On Wed, 2023-11-08 at 11:58 +0000, Dean Rasheed wrote:
>> This should overflow, since the correct result (+9223372036854775808)
>> is out of range. However, on platforms without integer overflow
>> builtins or 128-bit integers, pg_sub_s64_overflow() does the
>> following:
>> ...
>> which fails to spot the fact that overflow is also possible when a ==
>> 0. So on such platforms, it returns the wrong result.
>>
>> Patch attached.

> The patch looks good to me.

+1: good catch, fix looks correct.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2023-11-08 16:10:27 Re: Call pqPipelineFlush from PQsendFlushRequest
Previous Message Tristan Partin 2023-11-08 15:59:40 Re: Fix use of openssl.path() if openssl isn't found