On Wed, Mar 13, 2019 at 9:51 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > ilm...@ilmari.org (Dagfinn Ilmari =?utf-8?Q?Manns=C3=A5ker?=) writes: > > [ let's convert > > + strlcpy(buf + buflen, name, NAMEDATALEN); > > + buflen += strlen(buf + buflen); > > to > > + buflen += strlcpy(buf + buflen, name, NAMEDATALEN); > > ] > > I don't think that's a safe transformation: what strlcpy returns is > strlen(src), which might be different from what it was actually > able to fit into the destination. > > Sure, they're equivalent if no truncation occurred; but if we were > 100.00% sure of no truncation, we'd likely not bother with strlcpy. >
So, if return value < length (3rd argument) we should be able to use the return value and avoid the strlen, else do the strlen ?