cvs commit: src/sbin/ping6 ping6.c

Mike Makonnen mtm at FreeBSD.org
Thu Apr 19 15:41:01 UTC 2007


mtm         2007-04-19 15:41:00 UTC

  FreeBSD src repository

  Modified files:
    sbin/ping6           ping6.c 
  Log:
  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
  
  Revision  Changes    Path
  1.30      +68 -19    src/sbin/ping6/ping6.c


More information about the cvs-src mailing list