Index: proto/bgp/attrs.c =================================================================== --- proto/bgp/attrs.c (revision 5017) +++ proto/bgp/attrs.c (working copy) @@ -1518,18 +1518,19 @@ err: int bgp_get_attr(eattr *a, byte *buf, int buflen) { - unsigned int i = EA_ID(a->id); + unsigned int len, i = EA_ID(a->id); struct attr_desc *d; if (ATTR_KNOWN(i)) { d = &bgp_attr_table[i]; - buf += bsprintf(buf, "%s", d->name); - if (d->format) + len = bsprintf(buf, "%s", d->name); + buf += len; + if (d->format && (len > 2)) { *buf++ = ':'; *buf++ = ' '; - d->format(a, buf, buflen); + d->format(a, buf, buflen - len - 2); return GA_FULL; } return GA_NAME;