From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/11191 Path: news.gmane.org!.POSTED!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Re: fallback to no translations when gettext("") Date: Fri, 24 Mar 2017 14:36:37 -0400 Message-ID: <20170324183637.GI17319@brightrain.aerifal.cx> References: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1490380623 31663 195.159.176.226 (24 Mar 2017 18:37:03 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 24 Mar 2017 18:37:03 +0000 (UTC) User-Agent: Mutt/1.5.21 (2010-09-15) To: musl@lists.openwall.com Original-X-From: musl-return-11206-gllmg-musl=m.gmane.org@lists.openwall.com Fri Mar 24 19:36:59 2017 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.84_2) (envelope-from ) id 1crU4u-0006oU-S1 for gllmg-musl@m.gmane.org; Fri, 24 Mar 2017 19:36:48 +0100 Original-Received: (qmail 30143 invoked by uid 550); 24 Mar 2017 18:36:52 -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 30114 invoked from network); 24 Mar 2017 18:36:51 -0000 Content-Disposition: inline In-Reply-To: Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:11191 Archived-At: On Thu, Mar 23, 2017 at 01:05:55PM +0800, He X wrote: > Hi, rich, happy that you merged the changes related to dcngettext(). But > you seems forget this simple patch and did not get it with those changes. > So i bump it again now. Hope you do not mind if you still remember it. > > He X > > 2017-03-04 16:08 GMT+08:00 He X : > > > following http://www.openwall.com/lists/musl/2017/02/13/8 , > > http://www.openwall.com/lists/musl/2017/03/04/1 and > > http://www.openwall.com/lists/musl/2017/02/13/5: > > > > > gnu tar showed me segfaults, because he passed a zero msgid1 causing > > __mo_lookup segfault, we should add a check in dcngettext to avoid it(if > > (!msgid1) goto notrans;): > > > > #2 0x00007ffff7d82a6f in dcngettext (domainname=0x6737a0 "tar", > > msgid1=0x0, msgid2=0x0, n=1, > > category=5) at src/locale/dcngettext.c:211 Indeed, I did forget. But looking at it more closely, according to the GNU gettext manual I think this is a bug in GNU tar: "If the argument is NULL the result is undefined." https://www.gnu.org/software/gettext/manual/html_node/Interface-to-gettext.html Whether we commit this patch or not, I think it should be reported as a bug in GNU tar. Given that the API documentation says a NULL pointer is not valid here, my leaning, in alignment with existing musl practice, is _not_ to make it silently "work" but to leave it crashing, so that this sort of bug is caught. But if the documentation is wrong and the practice of passing null pointers here is widely accepted we can reconsider. Rich