From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/14014 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH 2/2] avoid passing a parameter Date: Tue, 26 Mar 2019 11:07:27 -0400 Message-ID: <20190326150727.GZ23599@brightrain.aerifal.cx> References: <20190326093648.5669-1-fziglio@redhat.com> <20190326093648.5669-2-fziglio@redhat.com> Reply-To: musl@lists.openwall.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="117274"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.5.21 (2010-09-15) To: musl@lists.openwall.com Original-X-From: musl-return-14030-gllmg-musl=m.gmane.org@lists.openwall.com Tue Mar 26 16:07:43 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1h8nfy-000UPZ-H1 for gllmg-musl@m.gmane.org; Tue, 26 Mar 2019 16:07:42 +0100 Original-Received: (qmail 32004 invoked by uid 550); 26 Mar 2019 15:07:40 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 31962 invoked from network); 26 Mar 2019 15:07:39 -0000 Content-Disposition: inline In-Reply-To: <20190326093648.5669-2-fziglio@redhat.com> Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:14014 Archived-At: On Tue, Mar 26, 2019 at 09:36:48AM +0000, Frediano Ziglio wrote: > Make code slightly smaller. > "file" should not be long and it should fit in NAME_MAX so > this code would be faster only rarely. > --- > src/process/execvp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/process/execvp.c b/src/process/execvp.c > index ef3b9dd5..a2726af9 100644 > --- a/src/process/execvp.c > +++ b/src/process/execvp.c > @@ -19,7 +19,7 @@ int __execvpe(const char *file, char *const argv[], char *const envp[]) > return execve(file, argv, envp); > > if (!path) path = "/usr/local/bin:/bin:/usr/bin"; > - k = strnlen(file, NAME_MAX+1); > + k = strlen(file); > if (k > NAME_MAX) { > errno = ENAMETOOLONG; > return -1; > -- > 2.20.1 Patch 1 looks ok, but patch 2 here is contrary to the direction I want to take things in musl. Using strnlen everywhere that excess length is an error is an idiom I'm trying to adopt all over. Here there's no serious practical impact either way (size difference is tiny, input string is not untrusted), but I still prefer use of the idiom. Rich