Fix overflow in pg_size_pretty

Поиск
Список
Период
Сортировка
От Joseph Koshakow
Тема Fix overflow in pg_size_pretty
Дата
Msg-id CAAvxfHdTsMZPWEHUrZ=h3cky9Ccc3Mtx2whUHygY+ABP-mCmUw@mail.gmail.com
обсуждение исходный текст
Ответы Re: Fix overflow in pg_size_pretty
Re: Fix overflow in pg_size_pretty
Список pgsql-hackers
Hi all,

Attached is a patch that resolves an overflow in pg_size_pretty() that
resulted in unexpected behavior when PG_INT64_MIN was passed in as an
argument.

The pg_abs_s64() helper function is extracted and simplified from patch
0001 from [0]. I didn't add similar functions for other sized integers
since they'd be unused, but I'd be happy to add them if others
disagree.

`SELECT -9223372036854775808::bigint` results in an out of range error,
even though `-9223372036854775808` can fit in a `bigint` and
`SELECT pg_typeof(-9223372036854775808)` returns `bigint`. That's why
the `::bigint` cast is omitted from my test.

[0] https://www.postgresql.org/message-id/flat/CAAvxfHdBPOyEGS7s+xf4iaW0-cgiq25jpYdWBqQqvLtLe_t6tw@mail.gmail.com

Thanks,
Joseph Koshakow
Вложения

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

Предыдущее
От: Andreas Karlsson
Дата:
Сообщение: Re: tiny step toward threading: reduce dependence on setlocale()
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Protocol question regarding Portal vs Cursor