diff options
| -rw-r--r-- | pimd/mtracebis.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/pimd/mtracebis.c b/pimd/mtracebis.c index c63a6eeca9..a0e8fd1270 100644 --- a/pimd/mtracebis.c +++ b/pimd/mtracebis.c @@ -303,6 +303,9 @@ static int recv_response(int fd, int *hops, struct igmp_mtrace *mtracer) if (mtrace_len < (int)MTRACE_HDR_SIZE) return -1; + if (mtrace_len > (int)MTRACE_BUF_LEN) + return -1; + sum = mtrace->checksum; mtrace->checksum = 0; if (sum != in_cksum(mtrace, mtrace_len)) { |
