diff options
author | mtm <mtm@FreeBSD.org> | 2007-04-19 15:41:00 +0000 |
---|---|---|
committer | mtm <mtm@FreeBSD.org> | 2007-04-19 15:41:00 +0000 |
commit | d15cc39e73860f1cbeb14f0698536d3635f893d4 (patch) | |
tree | e8bf7c312230dc27682c6dc26901211cbd5fe7b1 /contrib/gcc/collect2.h | |
parent | 7058ca9c7d02641635cc60b654ae76490261f7e6 (diff) | |
download | FreeBSD-src-d15cc39e73860f1cbeb14f0698536d3635f893d4.zip FreeBSD-src-d15cc39e73860f1cbeb14f0698536d3635f893d4.tar.gz |
Correct two issues in ping6:
1. The static buffer that ping6(8) uses to hold the control data
it gets from recvmsg(2) is too small in some cases.
2. When it prints the extra header information it doesn't do
any checking to make sure the data it's printing is within
the bounds of the supplied buffer.
Fix this by:
o Increasing the buffer to hold extra headers to 10240 bytes (the minimum
according to RFC3542 sec. 20.1) and allocate it dynamically.
o In verbose mode, specify a warning if any control data from recvmsg(2)
was truncated because the buffer was too small.
o When printing the extra headers make sure not to overrun the buffer
boundaries.
Reviewed By: mlaier
PR: kern/99425
MFC After: 1 month
Diffstat (limited to 'contrib/gcc/collect2.h')
0 files changed, 0 insertions, 0 deletions