Re: Fix redundant memset after palloc0 in heap_form_minimal_tuple()
Re: Fix redundant memset after palloc0 in heap_form_minimal_tuple()
От:
Jeff Davis <pgsql@j-davis.com>
Дата:
On Tue, 2025-11-04 at 17:05 +0800, Chao Li wrote: > The current code does both palloc0() and memset(0) > in heap_form_minimal_tuple(): Thank you, fixed. > To fix the problem, my first impression was to delete the memset(). > But looking at a0942f4, I found a couple of other places that do the > same pattern: palloc(len+extra) then memset(0, extra), so I think the > correct fix should be changing the palloc0 to palloc. The palloc0() is important because heap_fill_tuple() skips over alignment bytes. So I just removed the memset(). Regards, Jeff Davis
Fix redundant memset after palloc0 in heap_form_minimal_tuple()
От:
Chao Li <li.evan.chao@gmail.com>
Дата:
Hi Hackers,
While studying the other patch, I happened to notice this problem in heap_form_minimal_tuple().
The current code does both palloc0() and memset(0) in heap_form_minimal_tuple():
```
/*
* Allocate and zero the space needed.
*/
mem = palloc0(len + extra);
memset(mem, 0, extra);
tuple = (MinimalTuple) (mem + extra);
* Allocate and zero the space needed.
*/
mem = palloc0(len + extra);
memset(mem, 0, extra);
tuple = (MinimalTuple) (mem + extra);
```
That looks like an oversight of a0942f4.
To fix the problem, my first impression was to delete the memset(). But looking at a0942f4, I found a couple of other places that do the same pattern: palloc(len+extra) then memset(0, extra), so I think the correct fix should be changing the palloc0 to palloc.
Best regards,
Chao Li (Evan)
---------------------
HighGo Software Co., Ltd.
https://www.highgo.com/
https://www.highgo.com/