summaryrefslogtreecommitdiffstats
path: root/sys/rpc
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2016-05-27 08:48:33 +0000
committerngie <ngie@FreeBSD.org>2016-05-27 08:48:33 +0000
commit24650ad43bbf8d817c9a5ca75a9ba203865f93ab (patch)
tree30a239426e69195bd31aeafab613256157dcbf7f /sys/rpc
parent80f7038dc0fa7ad6798fab2a2fffca92d42c920b (diff)
downloadFreeBSD-src-24650ad43bbf8d817c9a5ca75a9ba203865f93ab.zip
FreeBSD-src-24650ad43bbf8d817c9a5ca75a9ba203865f93ab.tar.gz
Quell false positives in svc_vc_create and svc_vc_create_conn with cd and xprt
Both cd and xprt will be non-NULL after their respective malloc(9) wrappers are called (mem_alloc and svc_xprt_alloc, which calls mem_alloc) as mem_alloc always gets called with M_WAITOK|M_ZERO today. Thus, testing for them being non-NULL is incorrect -- it misleads Coverity and it misleads the reader. Remove some unnecessary NULL initializations as a follow up to help solidify the fact that these pointers will be initialized properly in sys/rpc/.. with the interfaces the way they are currently. Differential Revision: https://reviews.freebsd.org/D6572 MFC after: 2 weeks Reported by: Coverity CID: 1007338, 1007339, 1007340 Reviewed by: markj, truckman Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'sys/rpc')
-rw-r--r--sys/rpc/svc_vc.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/sys/rpc/svc_vc.c b/sys/rpc/svc_vc.c
index 58bdd01..731ba28 100644
--- a/sys/rpc/svc_vc.c
+++ b/sys/rpc/svc_vc.c
@@ -143,7 +143,7 @@ SVCXPRT *
svc_vc_create(SVCPOOL *pool, struct socket *so, size_t sendsize,
size_t recvsize)
{
- SVCXPRT *xprt = NULL;
+ SVCXPRT *xprt;
struct sockaddr* sa;
int error;
@@ -189,11 +189,11 @@ svc_vc_create(SVCPOOL *pool, struct socket *so, size_t sendsize,
SOCKBUF_UNLOCK(&so->so_rcv);
return (xprt);
+
cleanup_svc_vc_create:
- if (xprt) {
- sx_destroy(&xprt->xp_lock);
- svc_xprt_free(xprt);
- }
+ sx_destroy(&xprt->xp_lock);
+ svc_xprt_free(xprt);
+
return (NULL);
}
@@ -203,8 +203,8 @@ cleanup_svc_vc_create:
SVCXPRT *
svc_vc_create_conn(SVCPOOL *pool, struct socket *so, struct sockaddr *raddr)
{
- SVCXPRT *xprt = NULL;
- struct cf_conn *cd = NULL;
+ SVCXPRT *xprt;
+ struct cf_conn *cd;
struct sockaddr* sa = NULL;
struct sockopt opt;
int one = 1;
@@ -279,12 +279,10 @@ svc_vc_create_conn(SVCPOOL *pool, struct socket *so, struct sockaddr *raddr)
return (xprt);
cleanup_svc_vc_create:
- if (xprt) {
- sx_destroy(&xprt->xp_lock);
- svc_xprt_free(xprt);
- }
- if (cd)
- mem_free(cd, sizeof(*cd));
+ sx_destroy(&xprt->xp_lock);
+ svc_xprt_free(xprt);
+ mem_free(cd, sizeof(*cd));
+
return (NULL);
}
OpenPOWER on IntegriCloud