Author: glebius
Date: Fri Mar 29 13:57:55 2013
New Revision: 248884
URL: http://svnweb.freebsd.org/changeset/base/248884

Log:
  When soreceive_generic() hands off an mbuf from buffer,
  clear its pointer to next record, since next record
  belongs to the buffer, and shouldn't be leaked.
  
  The ng_ksocket(4) used to clear this pointer itself,
  but the correct place is here.
  
  Sponsored by: Nginx, Inc

Modified:
  head/sys/kern/uipc_socket.c

Modified: head/sys/kern/uipc_socket.c
==============================================================================
--- head/sys/kern/uipc_socket.c Fri Mar 29 13:53:14 2013        (r248883)
+++ head/sys/kern/uipc_socket.c Fri Mar 29 13:57:55 2013        (r248884)
@@ -1860,6 +1860,7 @@ dontblock:
                                nextrecord = m->m_nextpkt;
                                sbfree(&so->so_rcv, m);
                                if (mp != NULL) {
+                                       m->m_nextpkt = NULL;
                                        *mp = m;
                                        mp = &m->m_next;
                                        so->so_rcv.sb_mb = m = m->m_next;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to