On Thu, Jan 22, 2026 at 3:00 AM Alexander Lakhin <[email protected]> wrote: > heaptoast.c > memcpy(VARDATA(result) + > - (curchunk * TOAST_MAX_CHUNK_SIZE - sliceoffset) + chcpystrt, > + (int)(curchunk * TOAST_MAX_CHUNK_SIZE - sliceoffset) + chcpystrt, > > Not sure about this one. It would be better if we reversing the > operands allowed us to avoid overflow in the first place: > > - (curchunk * TOAST_MAX_CHUNK_SIZE - sliceoffset) + chcpystrt, > + chcpystrt + (curchunk * TOAST_MAX_CHUNK_SIZE - sliceoffset) > > Does that silence the warning? > > > Unfortunately, no -- I still got: > heaptoast.c:771:17: runtime error: addition of unsigned offset to > 0x78120673fac6 overflowed to 0x78120673fa04 > SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior heaptoast.c:771:17
Okay, I'll refrain from guessing more then. I'm due for an OS upgrade anyway, and that'll have clang 21, so I'll come back to this one unless someone beats me to it. -- John Naylor Amazon Web Services
