diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2014-05-01 16:26:23 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2014-05-01 16:26:23 +0000 |
commit | 68cb90216586ebfa9b791300fb839044d28bcaf0 (patch) | |
tree | 1aea4915b836161240e4faede3022774530b071c /usr/src/lib/libnsl/rpc/clnt_vc.c | |
parent | 3a23bc3bf1ad922b3687f8aac18b0be92c9902b8 (diff) | |
parent | 5539384561c0efe744226d5e5d331f5546e500e4 (diff) | |
download | illumos-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.c | 17 |
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); } |