[squid-dev] Http::One::Parser::getHeaderField bug

Amos Jeffries squid3 at treenet.co.nz
Wed Nov 19 12:45:51 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Did that fix solve the issue for you?

Amos

On 13/11/2014 4:06 p.m., Amos Jeffries wrote:
> On 13/11/2014 5:34 a.m., Tsantilas Christos wrote:
>> The following patch is fixing it:
>> 
>> === modified file 'src/http/one/Parser.cc' --- 
>> src/http/one/Parser.cc      2014-09-14 12:43:00 +0000 +++ 
>> src/http/one/Parser.cc      2014-11-12 16:31:08 +0000 @@ -71,7 
>> +71,7 @@ p.chop(0, sizeof(header)-1);
>> 
>> // return the header field-value -        xstrncpy(header, 
>> p.rawContent(), p.length()); +        strcpy(header, p.c_str());
> 
> c_str() re-allocates. We can and need to avoid that here.
> 
>> debugs(25, 5, "returning " << header); return header; }
>> 
>> 
>> Does this looks like an SBuf bug?
> 
> No. I think it was just me overlooking that xstrncpy() length
> includes and enforces the '\0' termination.
> 
> Use this:  xstrncpy(header, p.rawContent(), p.length()+1);
> 
> Amos

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (MingW32)

iQEcBAEBAgAGBQJUbJD/AAoJELJo5wb/XPRjfOEH+wW1/V7VlFnd+yRBax9dpui4
mPFO753VOrV7KBA0juEpgNTgiYdpk7UM1BcVc3WDCG0tkUVc6Cn/b2vWZ87lzk+4
aMcuavlYPwU6Pztr+tWx0Box6uTEt6XoOzErSM1hBWxRrnpgh8MYCWI1L/3ungJ8
PgHwSb8oBDbjhqRFPqMoOqqtmsVEHR0dP+XBBmPmHXzna/zMsrDQylfgEnLHCNUY
3o5DfSgW/csiYIn81fnNvwVm70ZOB7aTWJQUBHvJoP5y0yQ/4LF8SqW5PrKNc8Zw
r40zoM3TqFx7SjLNy63N4IUqwiLhqfrcTFWM5pgsNdWrha5sIJpYiHG6bNckHck=
=NSil
-----END PGP SIGNATURE-----


More information about the squid-dev mailing list