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? -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services