From 91e2eb506b00519d997bd5c1d9973cdfa58b888e Mon Sep 17 00:00:00 2001 From: andre Date: Wed, 18 Jan 2006 18:49:16 +0000 Subject: 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 --- sys/netinet/ip_output.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/netinet/ip_output.c') 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; } -- cgit v1.1