On 31/08/11 10:55, Alex Rousskov wrote:
> On 08/30/2011 09:51 AM, Amos Jeffries wrote:
>
>> + if (IsIPv6())
>> + memcpy(buf,"::\0", min(static_cast<unsigned int>(3),blen));
>> + else if (IsIPv4())
>> + memcpy(buf,"0.0.0.0\0", min(static_cast<unsigned int>(8),blen));
>
> There should be no reason to put a second 0-terminator into a
> "guaranteed to be 0-terminated" string constant.
That one is there to ensure the destination ends up nul-terminated when
blen is larger without having to dicker around with 4 extra lines of
code calculating the amount copied and assigning the final byte
separately and without the xstrncpy additional padding being written.
We seem not to be allowed to memcpy(dst, "::", 3) for some reason
despite as you say, the termination guarantee.
Amos
-- Please be using Current Stable Squid 2.7.STABLE9 or 3.1.15 Beta testers wanted for 3.2.0.10Received on Wed Aug 31 2011 - 06:02:42 MDT
This archive was generated by hypermail 2.2.0 : Wed Aug 31 2011 - 12:00:03 MDT