diff options
author | brueffer <brueffer@FreeBSD.org> | 2014-05-16 15:48:45 +0000 |
---|---|---|
committer | brueffer <brueffer@FreeBSD.org> | 2014-05-16 15:48:45 +0000 |
commit | 0e330f2d7031b7b7ac99866fff8db9856635226c (patch) | |
tree | 7bafe14e11de5ffbaeff68606ef94cff08ea499a /lib/libc | |
parent | 00cf31e9a02b02726b9b195c117c6df4287bd43d (diff) | |
download | FreeBSD-src-0e330f2d7031b7b7ac99866fff8db9856635226c.zip FreeBSD-src-0e330f2d7031b7b7ac99866fff8db9856635226c.tar.gz |
MFC: r265238, r265240
Properly free resources in case of error.
CID: 1007032
Found with: Coverity Prevent(tm)
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/rpc/clnt_vc.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/libc/rpc/clnt_vc.c b/lib/libc/rpc/clnt_vc.c index 7cd93b3..117cfba 100644 --- a/lib/libc/rpc/clnt_vc.c +++ b/lib/libc/rpc/clnt_vc.c @@ -301,15 +301,13 @@ clnt_vc_create(fd, raddr, prog, vers, sendsz, recvsz) return (cl); err: - if (cl) { - if (ct) { - if (ct->ct_addr.len) - mem_free(ct->ct_addr.buf, ct->ct_addr.len); - mem_free(ct, sizeof (struct ct_data)); - } - if (cl) - mem_free(cl, sizeof (CLIENT)); + if (ct) { + if (ct->ct_addr.len) + mem_free(ct->ct_addr.buf, ct->ct_addr.len); + mem_free(ct, sizeof (struct ct_data)); } + if (cl) + mem_free(cl, sizeof (CLIENT)); return ((CLIENT *)NULL); } |