diff options
| author | Sam Leffler <sam@FreeBSD.org> | 2004-01-20 22:45:10 +0000 | 
|---|---|---|
| committer | Sam Leffler <sam@FreeBSD.org> | 2004-01-20 22:45:10 +0000 | 
| commit | b5b47bc6fa9ba9794afd130c91a556a3569166c7 (patch) | |
| tree | ac4a2f5f2c5d428bf034a6c176f3ea1f11bff957 | |
| parent | c58cde95d1c86956fc3cd0f8299f463c3a36f527 (diff) | |
Notes
| -rw-r--r-- | sys/netipsec/ipsec_output.c | 5 | ||||
| -rw-r--r-- | sys/netipsec/xform_ipip.c | 4 | 
2 files changed, 6 insertions, 3 deletions
| diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c index 8f8c70545404..c90524b5c2cc 100644 --- a/sys/netipsec/ipsec_output.c +++ b/sys/netipsec/ipsec_output.c @@ -426,8 +426,11 @@ ipsec4_process_packet(  				error = EFAULT;  			}  			if (error) { -				if (mp) +				if (mp) { +					/* XXX: Should never happen! */  					m_freem(mp); +				} +				m = NULL; /* ipip_output() already freed it */  				goto bad;  			}  			m = mp, mp = NULL; diff --git a/sys/netipsec/xform_ipip.c b/sys/netipsec/xform_ipip.c index a8453227b67b..0f881a1e337c 100644 --- a/sys/netipsec/xform_ipip.c +++ b/sys/netipsec/xform_ipip.c @@ -526,7 +526,6 @@ ipip_output(  		if (m == 0) {  			DPRINTF(("%s: M_PREPEND failed\n", __func__));  			ipipstat.ipips_hdrops++; -			*mp = NULL;  			error = ENOBUFS;  			goto bad;  		} @@ -610,7 +609,8 @@ nofamily:  	return 0;  bad:  	if (m) -		m_freem(m), *mp = NULL; +		m_freem(m); +	*mp = NULL;  	return (error);  } | 
