From bc92aafabe7d5b8799f8cf38c25831505e2bb503 Mon Sep 17 00:00:00 2001 From: tuexen Date: Wed, 9 May 2012 14:44:36 +0000 Subject: [PATCH] MFC r234832: Add support for missing gauth_number_of_chunks field. This Bug was found by Irene Ruengeler. git-svn-id: svn://svn.freebsd.org/base/stable/8@235179 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/netinet/sctp_uio.h | 1 + sys/netinet/sctp_usrreq.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/sys/netinet/sctp_uio.h b/sys/netinet/sctp_uio.h index f19e3b9e0..54d7457f9 100644 --- a/sys/netinet/sctp_uio.h +++ b/sys/netinet/sctp_uio.h @@ -660,6 +660,7 @@ struct sctp_authkeyid { /* SCTP_PEER_AUTH_CHUNKS / SCTP_LOCAL_AUTH_CHUNKS */ struct sctp_authchunks { sctp_assoc_t gauth_assoc_id; + uint32_t gauth_number_of_chunks; uint8_t gauth_chunks[]; }; diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index 8c170f3fa..0ea303e90 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -2868,6 +2868,7 @@ flags_out: } else { /* copy in the chunks */ (void)sctp_serialize_auth_chunks(chklist, sac->gauth_chunks); + sac->gauth_number_of_chunks = (uint32_t) size; *optsize = sizeof(struct sctp_authchunks) + size; } SCTP_TCB_UNLOCK(stcb); @@ -2886,6 +2887,7 @@ flags_out: } else { /* copy in the chunks */ (void)sctp_serialize_auth_chunks(chklist, sac->gauth_chunks); + sac->gauth_number_of_chunks = (uint32_t) size; *optsize = sizeof(struct sctp_authchunks) + size; } SCTP_INP_RUNLOCK(inp); @@ -2916,6 +2918,7 @@ flags_out: } else { /* copy in the chunks */ (void)sctp_serialize_auth_chunks(chklist, sac->gauth_chunks); + sac->gauth_number_of_chunks = (uint32_t) size; *optsize = sizeof(struct sctp_authchunks) + size; } SCTP_TCB_UNLOCK(stcb); -- 2.45.0