Re: [PATCH] Fix possible overflow on tuplesort.c

Поиск
Список
Период
Сортировка
От Ranier Vilela
Тема Re: [PATCH] Fix possible overflow on tuplesort.c
Дата
Msg-id CAEudQAp-2pvSkq+co4e3w1e1Y_QwTUKwr14M2O1r_0GQ4-tFGA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [PATCH] Fix possible overflow on tuplesort.c  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
Em qui., 23 de abr. de 2020 às 16:43, Alvaro Herrera <alvherre@2ndquadrant.com> escreveu:
On 2020-Apr-16, Ranier Vilela wrote:

> When multiplying variables, the overflow will take place anyway, and only
> then will the meaningless product be explicitly promoted to type int64.
> It is one of the operands that should have been cast instead to avoid the
> overflow.
>
> -   if (state->availMem < (int64) ((newmemtupsize - memtupsize) * sizeof(SortTuple)))
> +   if (state->availMem < ((int64) (newmemtupsize - memtupsize) * sizeof(SortTuple)))

Doesn't sizeof() return a 64-bit wide value already?
Sizeof return size_t.
Both versions are constant expressions of type std::size_t.
 
regards,
Ranier Vilela

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [PATCH] Fix possible overflow on tuplesort.c
Следующее
От: James Coleman
Дата:
Сообщение: Re: [PATCH] Fix division by zero (explain.c)