From owner-svn-src-stable-9@FreeBSD.ORG Tue Oct 16 13:37:01 2012 Return-Path: Delivered-To: svn-src-stable-9@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8AFE95CE; Tue, 16 Oct 2012 13:37:01 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id E671B8FC0A; Tue, 16 Oct 2012 13:37:00 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap4EAG9ifVCDaFvO/2dsb2JhbABFhhK6eIIgAQEEASMEUgUWFAQCAg0ZAlkGiBEGC6hxgjuQTIEhii6FK4ESA5VrkDKDCYF7 X-IronPort-AV: E=Sophos;i="4.80,594,1344225600"; d="scan'208";a="183828218" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 16 Oct 2012 09:36:54 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 2EDA4B4041; Tue, 16 Oct 2012 09:36:54 -0400 (EDT) Date: Tue, 16 Oct 2012 09:36:54 -0400 (EDT) From: Rick Macklem To: "Pedro F. Giffuni" Message-ID: <765985284.2313601.1350394614176.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <201210160137.q9G1bIWm016746@svn.freebsd.org> Subject: Re: svn commit: r241601 - in stable/9: lib/libc/rpc sys/rpc MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.91.202] X-Mailer: Zimbra 6.0.10_GA_2692 (ZimbraWebClient - IE7 (Win)/6.0.10_GA_2692) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Oct 2012 13:37:01 -0000 Pedro F. Giffuni wrote: > Author: pfg > Date: Tue Oct 16 01:37:17 2012 > New Revision: 241601 > URL: http://svn.freebsd.org/changeset/base/241601 > > Log: > MFC r241143: > > rpc: be sure to free cl_netid and cl_tp. > > When creating a client with clnt_tli_create, it uses strdup to copy > strings for these fields if nconf is passed in. clnt_dg_destroy frees > these strings already. Make sure clnt_vc_destroy frees them in the > same > way. > I think the patch is fine. However, just fyi, there is no clnt_tli_create() in the kernel and nothing in the kernel currently sets cl_netid or cl_tp non-NULL, as far as I can see. rick > Tested by: David Wolfskill > Obtained from: Bull GNU/Linux NFSv4 Project (libtirpc) > > Modified: > stable/9/lib/libc/rpc/clnt_vc.c > stable/9/sys/rpc/clnt_vc.c > > Modified: stable/9/lib/libc/rpc/clnt_vc.c > ============================================================================== > --- stable/9/lib/libc/rpc/clnt_vc.c Tue Oct 16 01:10:43 2012 (r241600) > +++ stable/9/lib/libc/rpc/clnt_vc.c Tue Oct 16 01:37:17 2012 (r241601) > @@ -672,6 +672,10 @@ clnt_vc_destroy(cl) > if (ct->ct_addr.buf) > free(ct->ct_addr.buf); > mem_free(ct, sizeof(struct ct_data)); > + if (cl->cl_netid && cl->cl_netid[0]) > + mem_free(cl->cl_netid, strlen(cl->cl_netid) +1); > + if (cl->cl_tp && cl->cl_tp[0]) > + mem_free(cl->cl_tp, strlen(cl->cl_tp) +1); > mem_free(cl, sizeof(CLIENT)); > mutex_unlock(&clnt_fd_lock); > thr_sigsetmask(SIG_SETMASK, &(mask), NULL); > > Modified: stable/9/sys/rpc/clnt_vc.c > ============================================================================== > --- stable/9/sys/rpc/clnt_vc.c Tue Oct 16 01:10:43 2012 (r241600) > +++ stable/9/sys/rpc/clnt_vc.c Tue Oct 16 01:37:17 2012 (r241601) > @@ -836,6 +836,10 @@ clnt_vc_destroy(CLIENT *cl) > soclose(so); > } > mem_free(ct, sizeof(struct ct_data)); > + if (cl->cl_netid && cl->cl_netid[0]) > + mem_free(cl->cl_netid, strlen(cl->cl_netid) +1); > + if (cl->cl_tp && cl->cl_tp[0]) > + mem_free(cl->cl_tp, strlen(cl->cl_tp) +1); > mem_free(cl, sizeof(CLIENT)); > }