bgpd: Modify prefix_rd2str to return "Unknown" when unknown

Make prefix_rd2str return an "Unknown" string when something
goes wrong.  This will allow for simplification of the
code that uses prefix_rd2str.

Additionally ensure that size is big enough with an assert.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-12-11 08:48:59 -05:00
parent ff6566f3ef
commit 02d3243970

View file

@ -166,8 +166,7 @@ char *prefix_rd2str(struct prefix_rd *prd, char *buf, size_t size)
struct rd_as rd_as; struct rd_as rd_as;
struct rd_ip rd_ip; struct rd_ip rd_ip;
if (size < RD_ADDRSTRLEN) assert(size >= RD_ADDRSTRLEN);
return NULL;
pnt = prd->val; pnt = prd->val;
@ -197,5 +196,7 @@ char *prefix_rd2str(struct prefix_rd *prd, char *buf, size_t size)
return buf; return buf;
} }
#endif #endif
return NULL;
snprintf(buf, size, "Unknown Type: %d", type);
return buf;
} }