Commit 6c4df703 authored by Ondřej Zajíček's avatar Ondřej Zajíček

Fixes possible buffer overflow when printing BGP attributes.

Thanks to Alexander V. Chernikov for the patch.
parent 2918e610
......@@ -1576,16 +1576,18 @@ bgp_get_attr(eattr *a, byte *buf, int buflen)
{
unsigned int i = EA_ID(a->id);
struct attr_desc *d;
int len;
if (ATTR_KNOWN(i))
{
d = &bgp_attr_table[i];
buf += bsprintf(buf, "%s", d->name);
len = bsprintf(buf, "%s", d->name);
buf += len;
if (d->format)
{
*buf++ = ':';
*buf++ = ' ';
d->format(a, buf, buflen);
d->format(a, buf, buflen - len - 2);
return GA_FULL;
}
return GA_NAME;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment