diff options
| author | paco <paco@voltanet.io> | 2018-06-25 15:25:26 +0200 |
|---|---|---|
| committer | paco <paco@voltanet.io> | 2018-06-25 17:37:48 +0200 |
| commit | d94023d85c1682ae14def9d50f2474e8e6290e44 (patch) | |
| tree | 695e8006d038e5640fcc44bd1e4facf7ed0f4efc /pimd/mtracebis.c | |
| parent | 3a743cb7ec5fd1e91e0803487c606cf63e54c22b (diff) | |
pimd: untrusted argument (2) (Coverity 1465491)
Additional fix over 18e994a0437cfba9f4c09bd62293e13e49ea774b (PR #2457)
Previous correction was not enough for fixing the Coverity warning. Now we
ensure we don't overflow the buffer.
Signed-off-by: F. Aragon <paco@voltanet.io>
Diffstat (limited to 'pimd/mtracebis.c')
| -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)) { |
