Re: Fix overflow in pg_size_pretty

Поиск
Список
Период
Сортировка
От David Rowley
Тема Re: Fix overflow in pg_size_pretty
Дата
Msg-id CAApHDvoRkYzK8LZaESvyuLgRjPH8ovK88YvxLTTqi5imk2+HMQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Fix overflow in pg_size_pretty  (Joseph Koshakow <koshy44@gmail.com>)
Ответы Re: Fix overflow in pg_size_pretty
Список pgsql-hackers
On Sun, 28 Jul 2024 at 11:06, Joseph Koshakow <koshy44@gmail.com> wrote:
> > + uint64 usize = size < 0 ? (uint64) (-size) : (uint64) size;
>
> I think that the explicit test for PG_INT64_MIN is still required. If
> `size` is equal to PG_INT64_MIN then `-size` will overflow. You end up
> with the correct behavior if `size` wraps around, but that's only
> guaranteed on platforms that support the `-fwrapv` flag.

What if we spelt it out the same way as pg_lltoa() does?

i.e: uint64 usize = size < 0 ? 0 - (uint64) size : (uint64) size;

David



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Joseph Koshakow
Дата:
Сообщение: Re: Fix overflow in pg_size_pretty
Следующее
От: Corey Huinker
Дата:
Сообщение: Re: Statistics Import and Export