summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_output.c
diff options
context:
space:
mode:
authorandre <andre@FreeBSD.org>2006-01-18 18:49:16 +0000
committerandre <andre@FreeBSD.org>2006-01-18 18:49:16 +0000
commit91e2eb506b00519d997bd5c1d9973cdfa58b888e (patch)
treeecafb2170ca2d1bab1084ee1674a9b15c778c3e4 /sys/netinet/ip_output.c
parentd629fcd27bed9c1a1eb48d15d1d00ed158d9153e (diff)
downloadFreeBSD-src-91e2eb506b00519d997bd5c1d9973cdfa58b888e.zip
FreeBSD-src-91e2eb506b00519d997bd5c1d9973cdfa58b888e.tar.gz
In in_delayed_cksum() we can't perform a m_pullup() as it may
change the mbuf pointer and we don't have any way of passing it back to the callers. Instead just fail silently without updating the checksum but leaving the mbuf+chain intact. A search in our GNATS database did not turn up any match for the existing warning message when this case is encountered. Found by: Coverity Prevent(tm) Coverity ID: CID779 Sponsored by: TCP/IP Optimization Fundraise 2005 MFC after: 3 days
Diffstat (limited to 'sys/netinet/ip_output.c')
-rw-r--r--sys/netinet/ip_output.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index 2124c74..ee8ad5f 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -1043,9 +1043,9 @@ in_delayed_cksum(struct mbuf *m)
* XXX
* this shouldn't happen, but if it does, the
* correct behavior may be to insert the checksum
- * in the existing chain instead of rearranging it.
+ * in the appropriate next mbuf in the chain.
*/
- m = m_pullup(m, offset + sizeof(u_short));
+ return;
}
*(u_short *)(m->m_data + offset) = csum;
}
OpenPOWER on IntegriCloud