cvs commit: src/sbin/ping6 ping6.c
mtm at FreeBSD.org
Thu Apr 19 15:41:01 UTC 2007
mtm 2007-04-19 15:41:00 UTC
FreeBSD src repository
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
Reviewed By: mlaier
MFC After: 1 month
Revision Changes Path
1.30 +68 -19 src/sbin/ping6/ping6.c
More information about the cvs-src