[Babel-users] [PATCH] rfc6126bis check for interface buffer on a multihop request
Dave Taht
dave at taht.net
Sat Oct 27 01:31:51 BST 2018
while testing "ifdown enp6s0; sleep 2; ifup enp6s0, the current rfc6126
branch segvios on the send_multihop_request.
checking for ifp->buf.buf being null before making this call
appears to solve the problem.
type=type at entry=10, len=len at entry=14) at message.c:957
957 buf->buf[buf->len++] = type;
(gdb) up
prefix=0x1716368 "", plen=<optimized out>, src_prefix=0x1716379 "",
src_plen=<optimized out>, seqno=<optimized out>,
id=0x1716360 "\366\362m\377\376\266\240\035", hop_count=127)
at message.c:1806
1806 start_message(buf, MESSAGE_MH_REQUEST, len);
(gdb) up
plen=96 '`', src_prefix=0x1716379 "", src_plen=96 '`',
seqno=<optimized out>, id=0x1716360 "\366\362m\377\376\266\240\035")
at message.c:1904
1904 send_multihop_request(&ifp->buf, prefix, plen, src_prefix, src_plen,
(gdb) up
at route.c:300
300 route_lost(src, oldmetric);
(gdb) down
plen=96 '`', src_prefix=0x1716379 "", src_plen=96 '`',
seqno=<optimized out>, id=0x1716360 "\366\362m\377\376\266\240\035")
at message.c:1904
1904 send_multihop_request(&ifp->buf, prefix, plen, src_prefix, src_plen,
---
message.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/message.c b/message.c
index 3ca92ff..83183fe 100644
--- a/message.c
+++ b/message.c
@@ -1901,8 +1901,10 @@ send_request_resend(const unsigned char *prefix, unsigned char plen,
} else {
struct interface *ifp;
FOR_ALL_INTERFACES(ifp)
+ if(ifp->buf.buf) {
send_multihop_request(&ifp->buf, prefix, plen, src_prefix, src_plen,
seqno, id, 127);
+ }
}
}
--
2.7.4
More information about the Babel-users
mailing list