Re: Using the return value of strlcpy() and strlcat() - Mailing list pgsql-hackers

From ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Subject Re: Using the return value of strlcpy() and strlcat()
Date
Msg-id d8jd0mt6799.fsf@dalvik.ping.uio.no
Whole thread Raw
In response to Re: Using the return value of strlcpy() and strlcat()  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Using the return value of strlcpy() and strlcat()
List pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.us> writes:

> Ashwin Agrawal <aagrawal@pivotal.io> writes:
>> On Wed, Mar 13, 2019 at 9:51 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> 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.

Yeah, Andrew Gierth pointed this out on IRC as well.

>>> 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 ?
>
> Mmm ... if there's a way to do it that's not messy and typo-prone,
> maybe.  But I'm dubious that the potential gain is worth complicating
> the code.  The strings involved aren't usually all that long.

Please consider this patch withdrawn.

- ilmari
-- 
"I use RMS as a guide in the same way that a boat captain would use
 a lighthouse.  It's good to know where it is, but you generally
 don't want to find yourself in the same spot." - Tollef Fog Heen


pgsql-hackers by date:

Previous
From: Auguste Comte
Date:
Subject: Google Summer of Code
Next
From: David Rowley
Date:
Subject: Re: Removing unneeded self joins