summaryrefslogtreecommitdiff
path: root/usr/src/lib/libnsl/rpc/clnt_vc.c
diff options
context:
space:
mode:
authorKeith M Wesolowski <wesolows@foobazco.org>2014-05-01 16:26:23 +0000
committerKeith M Wesolowski <wesolows@foobazco.org>2014-05-01 16:26:23 +0000
commit68cb90216586ebfa9b791300fb839044d28bcaf0 (patch)
tree1aea4915b836161240e4faede3022774530b071c /usr/src/lib/libnsl/rpc/clnt_vc.c
parent3a23bc3bf1ad922b3687f8aac18b0be92c9902b8 (diff)
parent5539384561c0efe744226d5e5d331f5546e500e4 (diff)
downloadillumos-joyent-release-20140501.tar.gz
[illumos-gate merge]20140501release-20140501
commit 5539384561c0efe744226d5e5d331f5546e500e4 4670 Resource leak in cots_listen_event() when set_addrmask() fails commit 9557befbc07a121f4baa233e966d24be5dca7345 4817 README.mapfiles: Missing version in an example commit 9a634533d15821efb93a491af59ea24d69227322 4812 libnsl: Some nisplus leftovers commit c5953fd0a23d8a0dc9475dfa76ad0dfd07663717 4808 libnsl: SI_SRPC_DOMAIN is always defined commit 0900f4f20e4cdeb8e5af4ba32aca32d28aeba2f9 4803 libnsl: recursive mutex lock in return_xprt_copy() commit dff8cdb7c81be0916631bfe5b4384516b430227f 4724 Possible memory leak in _clnt_vc_create_timed()
Diffstat (limited to 'usr/src/lib/libnsl/rpc/clnt_vc.c')
-rw-r--r--usr/src/lib/libnsl/rpc/clnt_vc.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/usr/src/lib/libnsl/rpc/clnt_vc.c b/usr/src/lib/libnsl/rpc/clnt_vc.c
index 671adaada6..0c0fb01037 100644
--- a/usr/src/lib/libnsl/rpc/clnt_vc.c
+++ b/usr/src/lib/libnsl/rpc/clnt_vc.c
@@ -240,7 +240,9 @@ _clnt_vc_create_timed(int fd, struct netbuf *svcaddr, rpcprog_t prog,
int flag;
cl = malloc(sizeof (*cl));
- ct = malloc(sizeof (*ct));
+ if ((ct = malloc(sizeof (*ct))) != NULL)
+ ct->ct_addr.buf = NULL;
+
if ((cl == NULL) || (ct == NULL)) {
(void) syslog(LOG_ERR, clnt_vc_errstr,
clnt_vc_str, __no_mem_str);
@@ -249,7 +251,6 @@ _clnt_vc_create_timed(int fd, struct netbuf *svcaddr, rpcprog_t prog,
rpc_createerr.cf_error.re_terrno = 0;
goto err;
}
- ct->ct_addr.buf = NULL;
/*
* The only use of vctbl_lock is for serializing the creation of
@@ -366,14 +367,12 @@ _clnt_vc_create_timed(int fd, struct netbuf *svcaddr, rpcprog_t prog,
return (cl);
err:
- if (cl) {
- if (ct) {
- if (ct->ct_addr.len)
- free(ct->ct_addr.buf);
- free(ct);
- }
- free(cl);
+ if (ct) {
+ free(ct->ct_addr.buf);
+ free(ct);
}
+ free(cl);
+
return (NULL);
}