Mailing List Archive

[PATCH 13/23] bgpd: sanity checks around capnproto exchange
This commit contains some modifications on supposed to be generated
files, as the default files may contain some non initialised variables,
it should lead to erratic behaviour on some circumstances.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
---
bgpd/bgp.bcapnp.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/bgpd/bgp.bcapnp.c b/bgpd/bgp.bcapnp.c
index 83eb3dac3b6e..c6fd5e67a693 100644
--- a/bgpd/bgp.bcapnp.c
+++ b/bgpd/bgp.bcapnp.c
@@ -530,10 +530,22 @@ void qcapn_BGPPeer_set(struct peer *s, capn_ptr p)
/* MISSING: host */
}
{
- const char * desc;
- { capn_text tp = capn_get_text(p, 1, capn_val0); desc = tp.str; }
- if (desc) { peer_description_set(s, desc); } else { peer_description_unset(s); }
-
+ const char * desc = NULL;
+ {
+ capn_text tp = capn_get_text(p, 1, capn_val0);
+ if (tp.len)
+ {
+ desc = tp.str;
+ }
+ if (desc)
+ {
+ peer_description_set(s, desc);
+ }
+ else
+ {
+ peer_description_unset(s);
+ }
+ }
}
{
unsigned port;
--
2.1.4


_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev