From owner-svn-src-all@FreeBSD.ORG Mon Dec 7 10:45:26 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C7221065784; Mon, 7 Dec 2009 10:45:26 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id 75EE48FC18; Mon, 7 Dec 2009 10:45:25 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id C1E6D73106; Mon, 7 Dec 2009 11:53:43 +0100 (CET) Date: Mon, 7 Dec 2009 11:53:43 +0100 From: Luigi Rizzo To: Dag-Erling Sm??rgrav Message-ID: <20091207105343.GA62012@onelab2.iet.unipi.it> References: <200912052009.nB5K9okL098577@svn.freebsd.org> <20091207055752.GD64905@hoeg.nl> <20091207085927.GC57764@onelab2.iet.unipi.it> <86iqcjt93c.fsf@ds4.des.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86iqcjt93c.fsf@ds4.des.no> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, Ed Schouten , svn-src-all@freebsd.org, src-committers@freebsd.org, Hajimu UMEMOTO Subject: the need for safe dynamic string libraries (was Re: svn commit: r200157 - head/bin/date) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Dec 2009 10:45:26 -0000 On Mon, Dec 07, 2009 at 10:41:11AM +0100, Dag-Erling Sm??rgrav wrote: > Luigi Rizzo writes: > > Also, things like lsbuf are really useful in general, so having > > that widely available would be a good incentive for people to > > use it instead of rolling their own 'dynamic string manipulation' > > code again and again > > Userland libsbuf is an abomination. I wish I had protested more > strenuously when the CAM people insisted on using the same code in > userland as in the kernel; we actually lost functionality in the kernel > version as a result. What do you mean exactly ? In any case i don't care whether we use the same or different code in userland and kernel, but i do care that we converge on one library to handle dynamic strings in a safe way, and promote the use of that library for our userland base code. One way to promote this is to put the code in libc so even lazy people won't need to remember to pass linker flags when using the library. Otherwise lots of people are going to use unsafe or non-reentrant variants based on sprintf/snprintf , even in the libraries. Just grep -r sprintf or snprintf in src/lib and you'll see how bad the situation is. libsbuf is as good as anything else with the same features. cheers luigi