Fix memory leak on failure in svc_vc_create Do not leak memory (the r variable) when __rpc_fd2sockinfo fails. Signed-off-by: Peter Rosin Signed-off-by: Steve Dickson diff --git a/lib/libc/rpc/svc_vc.c b/lib/libc/rpc/svc_vc.c index 6e141317be84..30f76289e5b7 100644 --- a/lib/libc/rpc/svc_vc.c +++ b/lib/libc/rpc/svc_vc.c @@ -129,9 +129,10 @@ svc_vc_create(int fd, u_int sendsize, u_int recvsize) struct sockaddr_storage sslocal; socklen_t slen; - if (!__rpc_fd2sockinfo(fd, &si)) - return NULL; - + if (!__rpc_fd2sockinfo(fd, &si)) { + warnx("svc_vc_create: __rpc_fd2sockinfo failed"); + goto cleanup_svc_vc_create; + } r = mem_alloc(sizeof(*r)); if (r == NULL) { warnx("svc_vc_create: out of memory");