From owner-freebsd-fs@FreeBSD.ORG Tue Jul 9 17:11:15 2013 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D3A85EBF; Tue, 9 Jul 2013 17:11:15 +0000 (UTC) (envelope-from jdc@koitsu.org) Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by mx1.freebsd.org (Postfix) with ESMTP id 87A821DD9; Tue, 9 Jul 2013 17:11:15 +0000 (UTC) Received: from mfilter17-d.gandi.net (mfilter17-d.gandi.net [217.70.178.145]) by relay3-d.mail.gandi.net (Postfix) with ESMTP id 43E72A80C7; Tue, 9 Jul 2013 19:11:04 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter17-d.gandi.net Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by mfilter17-d.gandi.net (mfilter17-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id k8Mb3Zfy5nLF; Tue, 9 Jul 2013 19:11:02 +0200 (CEST) X-Originating-IP: 76.102.14.35 Received: from jdc.koitsu.org (c-76-102-14-35.hsd1.ca.comcast.net [76.102.14.35]) (Authenticated sender: jdc@koitsu.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 5D029A80DD; Tue, 9 Jul 2013 19:11:02 +0200 (CEST) Received: by icarus.home.lan (Postfix, from userid 1000) id 895E773A31; Tue, 9 Jul 2013 10:11:00 -0700 (PDT) Date: Tue, 9 Jul 2013 10:11:00 -0700 From: Jeremy Chadwick To: Konstantin Belousov Subject: Re: Compatibility options for mount(8) Message-ID: <20130709171100.GA10423@icarus.home.lan> References: <20130702000732.GA72587@icarus.home.lan> <20130709150129.GA8289@icarus.home.lan> <20130709165658.GO91021@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130709165658.GO91021@kib.kiev.ua> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-fs@freebsd.org X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Jul 2013 17:11:15 -0000 On Tue, Jul 09, 2013 at 07:56:59PM +0300, Konstantin Belousov wrote: > On Tue, Jul 09, 2013 at 08:01:29AM -0700, Jeremy Chadwick wrote: > > On Tue, Jul 09, 2013 at 04:47:46PM +0200, Robert Millan wrote: > > > > 2. Please use strncmp(). I know other parts of the same code use strcmp() > > > > and those should really be improved at some other time, but while you're > > > > already there you might as well use strncmp() (you'll see others have > > > > done the same), i.e.: > > > > > > > > } else if (strncmp(p, "remount", 7) == 0) { > > > > > > What is the rationale behind this? > > > > Primarily security and stability. I won't get into a discussion about > > this as it'll just bikeshed, particularly when there's an almost > > indefinite amount of information online about the dangers of strcmp(3). > > Robert, please ignore this. The person does not know what he talks about. > > The use of strncmp() is plain wrong. E.g., it would match "remount1" > as well as any longer option starting with "remount". Original patch > is fine. kib@, thanks for correcting me -- you're absolutely right in this case. I was looking at the mountprog/userquota=/groupquota= examples and did not notice the use of strsep(3) within the while(). So yes, use of strncmp(3) in this case is completely wrong. My apologies. -- | Jeremy Chadwick jdc@koitsu.org | | UNIX Systems Administrator http://jdc.koitsu.org/ | | Making life hard for others since 1977. PGP 4BD6C0CB |