aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/sctp_auth.c
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2017-10-25 09:12:22 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2017-10-25 09:12:22 +0000
commit8d9b040dd4b289964bdcd94f5f7250526b770d7b (patch)
tree5385f999db3981ff866406513399c7df67d14087 /sys/netinet/sctp_auth.c
parent64a16434d8dbd5432e2f1a49007e53a449d43830 (diff)
downloadsrc-8d9b040dd4b289964bdcd94f5f7250526b770d7b.tar.gz
src-8d9b040dd4b289964bdcd94f5f7250526b770d7b.zip
Notes
Diffstat (limited to 'sys/netinet/sctp_auth.c')
-rw-r--r--sys/netinet/sctp_auth.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/sctp_auth.c b/sys/netinet/sctp_auth.c
index fd7dbd85dca2..371d01138446 100644
--- a/sys/netinet/sctp_auth.c
+++ b/sys/netinet/sctp_auth.c
@@ -1606,9 +1606,9 @@ sctp_zero_m(struct mbuf *m, uint32_t m_offset, uint32_t size)
/* now use the rest of the mbuf chain */
while ((m_tmp != NULL) && (size > 0)) {
data = mtod(m_tmp, uint8_t *)+m_offset;
- if (size > (uint32_t)SCTP_BUF_LEN(m_tmp)) {
- memset(data, 0, SCTP_BUF_LEN(m_tmp));
- size -= SCTP_BUF_LEN(m_tmp);
+ if (size > (uint32_t)(SCTP_BUF_LEN(m_tmp) - m_offset)) {
+ memset(data, 0, SCTP_BUF_LEN(m_tmp) - m_offset);
+ size -= SCTP_BUF_LEN(m_tmp) - m_offset;
} else {
memset(data, 0, size);
size = 0;