From 19d8ca2eaf19b2425eee957ce49c50a2272ffe3c Mon Sep 17 00:00:00 2001 From: Randall Stewart Date: Sun, 17 Jun 2007 23:43:37 +0000 Subject: [PATCH] - The packet log needs to copy all of the buffer not to the end. --- sys/netinet/sctp_bsd_addr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/netinet/sctp_bsd_addr.c b/sys/netinet/sctp_bsd_addr.c index be6a19d70236..6d92b7b1a61d 100644 --- a/sys/netinet/sctp_bsd_addr.c +++ b/sys/netinet/sctp_bsd_addr.c @@ -513,10 +513,11 @@ again: lenat = (int *)target; *lenat = packet_log_end; lenat++; - this_copy = min((length - sizeof(int)), packet_log_end); + this_copy = min((length - sizeof(int)), SCTP_PACKET_LOG_SIZE); memcpy((void *)lenat, (void *)packet_log_buffer, this_copy); if (SCTP_PKTLOG_WRITERS_NEED_LOCK) { - atomic_subtract_int(&packet_log_writers, SCTP_PKTLOG_WRITERS_NEED_LOCK); + atomic_subtract_int(&packet_log_writers, + SCTP_PKTLOG_WRITERS_NEED_LOCK); } SCTP_IP_PKTLOG_UNLOCK(); return (this_copy + sizeof(int));