svn commit: r303695 - stable/9/sys/rpc
Garrett Cooper
ngie at FreeBSD.org
Wed Aug 3 01:26:03 UTC 2016
Author: ngie
Date: Wed Aug 3 01:26:02 2016
New Revision: 303695
URL: https://svnweb.freebsd.org/changeset/base/303695
Log:
MFstable/10 r303692:
MFstable/11 r303691:
MFC r302550,r302551,r302552,r302553:
r302550:
Deobfuscate cleanup path in clnt_dg_create(..)
Similar to r300836 and r301800, cl and cu will always be non-NULL as they're
allocated using the mem_alloc routines, which always use
`malloc(..., M_WAITOK)`.
Deobfuscating the cleanup path fixes a leak where if cl was NULL and
cu was not, cu would not be free'd, and also removes a duplicate test for
cl not being NULL.
CID: 1007033, 1007344
r302551:
Deobfuscate cleanup path in clnt_vc_create(..)
Similar to r300836, r301800, and r302550, cl and ct will always
be non-NULL as they're allocated using the mem_alloc routines,
which always use `malloc(..., M_WAITOK)`.
CID: 1007342
r302552:
Convert `svc_xprt_alloc(..)` and `svc_xprt_free(..)`'s prototypes to
ANSI C style prototypes
r302553:
Don't test for xpt not being NULL before calling svc_xprt_free(..)
svc_xprt_alloc(..) will always return initialized memory as it uses
mem_alloc(..) under the covers, which uses malloc(.., M_WAITOK, ..).
CID: 1007341
Modified:
stable/9/sys/rpc/clnt_dg.c
stable/9/sys/rpc/clnt_vc.c
stable/9/sys/rpc/svc.c
stable/9/sys/rpc/svc_dg.c
Directory Properties:
stable/9/ (props changed)
stable/9/sys/ (props changed)
Modified: stable/9/sys/rpc/clnt_dg.c
==============================================================================
--- stable/9/sys/rpc/clnt_dg.c Wed Aug 3 01:25:44 2016 (r303694)
+++ stable/9/sys/rpc/clnt_dg.c Wed Aug 3 01:26:02 2016 (r303695)
@@ -313,11 +313,9 @@ recheck_socket:
cl->cl_netid = NULL;
return (cl);
err2:
- if (cl) {
- mem_free(cl, sizeof (CLIENT));
- if (cu)
- mem_free(cu, sizeof (*cu));
- }
+ mem_free(cl, sizeof (CLIENT));
+ mem_free(cu, sizeof (*cu));
+
return (NULL);
}
Modified: stable/9/sys/rpc/clnt_vc.c
==============================================================================
--- stable/9/sys/rpc/clnt_vc.c Wed Aug 3 01:25:44 2016 (r303694)
+++ stable/9/sys/rpc/clnt_vc.c Wed Aug 3 01:26:02 2016 (r303695)
@@ -270,12 +270,10 @@ clnt_vc_create(
return (cl);
err:
- if (ct) {
- mtx_destroy(&ct->ct_lock);
- mem_free(ct, sizeof (struct ct_data));
- }
- if (cl)
- mem_free(cl, sizeof (CLIENT));
+ mtx_destroy(&ct->ct_lock);
+ mem_free(ct, sizeof (struct ct_data));
+ mem_free(cl, sizeof (CLIENT));
+
return ((CLIENT *)NULL);
}
Modified: stable/9/sys/rpc/svc.c
==============================================================================
--- stable/9/sys/rpc/svc.c Wed Aug 3 01:25:44 2016 (r303694)
+++ stable/9/sys/rpc/svc.c Wed Aug 3 01:26:02 2016 (r303695)
@@ -842,7 +842,7 @@ svcerr_progvers(struct svc_req *rqstp, r
* parameters.
*/
SVCXPRT *
-svc_xprt_alloc()
+svc_xprt_alloc(void)
{
SVCXPRT *xprt;
SVCXPRT_EXT *ext;
@@ -859,8 +859,7 @@ svc_xprt_alloc()
* Free a server transport structure.
*/
void
-svc_xprt_free(xprt)
- SVCXPRT *xprt;
+svc_xprt_free(SVCXPRT *xprt)
{
mem_free(xprt->xp_p3, sizeof(SVCXPRT_EXT));
Modified: stable/9/sys/rpc/svc_dg.c
==============================================================================
--- stable/9/sys/rpc/svc_dg.c Wed Aug 3 01:25:44 2016 (r303694)
+++ stable/9/sys/rpc/svc_dg.c Wed Aug 3 01:26:02 2016 (r303695)
@@ -142,9 +142,8 @@ svc_dg_create(SVCPOOL *pool, struct sock
return (xprt);
freedata:
(void) printf(svc_dg_str, __no_mem_str);
- if (xprt) {
- svc_xprt_free(xprt);
- }
+ svc_xprt_free(xprt);
+
return (NULL);
}
More information about the svn-src-stable-9
mailing list