From dde4978ffe49f90066490c9ae7350229dc714ecf Mon Sep 17 00:00:00 2001 From: "Bjoern A. Zeeb" Date: Sat, 16 Jun 2007 00:15:14 +0000 Subject: [PATCH] In case of failure we can directly return ENOBUFS because 'result' is still NULL and we do not need to free anything. That allows us to gc the entire goto parts and a now unused variable. Found with: Coverity Prevent(tm) CID: 2519 --- sys/netipsec/key.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c index daf539ab30d..bd25513301c 100644 --- a/sys/netipsec/key.c +++ b/sys/netipsec/key.c @@ -2259,7 +2259,6 @@ key_spdacquire(sp) { struct mbuf *result = NULL, *m; struct secspacq *newspacq; - int error; IPSEC_ASSERT(sp != NULL, ("null secpolicy")); IPSEC_ASSERT(sp->req == NULL, ("policy exists")); @@ -2287,10 +2286,9 @@ key_spdacquire(sp) /* create new sadb_msg to reply. */ m = key_setsadbmsg(SADB_X_SPDACQUIRE, 0, 0, 0, 0, 0); - if (!m) { - error = ENOBUFS; - goto fail; - } + if (!m) + return ENOBUFS; + result = m; result->m_pkthdr.len = 0; @@ -2301,11 +2299,6 @@ key_spdacquire(sp) PFKEY_UNIT64(result->m_pkthdr.len); return key_sendup_mbuf(NULL, m, KEY_SENDUP_REGISTERED); - -fail: - if (result) - m_freem(result); - return error; } /*