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
This commit is contained in:
parent
8eeb3e1773
commit
1b53778113
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=300836
@ -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 @@ svc_vc_create(SVCPOOL *pool, struct socket *so, size_t sendsize,
|
||||
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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user