summaryrefslogtreecommitdiff
path: root/pimd
diff options
context:
space:
mode:
Diffstat (limited to 'pimd')
-rw-r--r--pimd/mtracebis.c4
-rw-r--r--pimd/pim_oil.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/pimd/mtracebis.c b/pimd/mtracebis.c
index a073fa70be..731fdb1beb 100644
--- a/pimd/mtracebis.c
+++ b/pimd/mtracebis.c
@@ -296,6 +296,10 @@ static int recv_response(int fd, int *hops, struct igmp_mtrace *mtracer)
mtrace_len = ntohs(ip->ip_len) - ip->ip_hl * 4;
+ if ((char *)mtrace + mtrace_len
+ > (char *)mtrace_buf + IP_AND_MTRACE_BUF_LEN)
+ return -1;
+
if (mtrace_len < (int)MTRACE_HDR_SIZE)
return -1;
diff --git a/pimd/pim_oil.c b/pimd/pim_oil.c
index fd3c04e8ca..d49484f869 100644
--- a/pimd/pim_oil.c
+++ b/pimd/pim_oil.c
@@ -40,7 +40,6 @@ char *pim_channel_oil_dump(struct channel_oil *c_oil, char *buf, size_t size)
struct prefix_sg sg;
int i;
- memset(buf, 0, size);
sg.src = c_oil->oil.mfcc_origin;
sg.grp = c_oil->oil.mfcc_mcastgrp;
sprintf(buf, "%s IIF: %d, OIFS: ", pim_str_sg_dump(&sg),