Re: BUG #18247: Integer overflow leads to negative width

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Junwang Zhao <zhjwpku(at)gmail(dot)com>, rekgrpth(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18247: Integer overflow leads to negative width
Date: 2023-12-19 03:32:29
Message-ID: CAMbWs48NGPnJiqkRZx7RCYhyjK_JP0qkxVVjrD84FDYZbD4yqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Dec 19, 2023 at 5:00 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Some review comments:
>
> * clamp_width_est doesn't need to check isinf, since the
> comparison will work just fine. It does need to check isnan,
> unless we switch to int64.
>
> * We can fold the Assert about width >= 0 into clamp_width_est
> too; it fits naturally there and saves code in the callers.
>
> * I did not like changing the output type of get_rel_data_width;
> it seems better to me to have it do clamp_width_est internally.
> For one reason, several of the call sites are relying on
> doing integer division, which the v2 patch might break.
>
> The attached v3 fixes those things and makes some cosmetic
> changes (mostly comments).

I agree with all the comments made. I have also examined other places
where the width field is assigned, and I think we've covered all cases.
So the v3 patch is in good shape to me.

Thanks
Richard

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2023-12-19 04:08:57 Re: BUG #18247: Integer overflow leads to negative width
Previous Message Tom Lane 2023-12-18 21:00:30 Re: BUG #18247: Integer overflow leads to negative width