aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/msk
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2008-09-30 04:47:49 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2008-09-30 04:47:49 +0000
commit925da971b87e20c7639c0b3848beaac9a968507e (patch)
tree93b3902e13b4e5c39101b8016f54dde0c9591530 /sys/dev/msk
parentb2d4ddad82ff20918fbeed357453c66c489ac5fd (diff)
Notes
Diffstat (limited to 'sys/dev/msk')
-rw-r--r--sys/dev/msk/if_msk.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
index 7e9d413a09b1..cd0512ef6689 100644
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -2601,6 +2601,11 @@ msk_encap(struct msk_if_softc *sc_if, struct mbuf **m_head)
(m->m_pkthdr.csum_flags & CSUM_TCP) != 0) {
uint16_t csum;
+ m = m_pullup(m, offset + sizeof(struct tcphdr));
+ if (m == NULL) {
+ *m_head = NULL;
+ return (ENOBUFS);
+ }
csum = in_cksum_skip(m, ntohs(ip->ip_len) + offset -
(ip->ip_hl << 2), offset);
*(uint16_t *)(m->m_data + offset +