From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/10045 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: a64l(): return value should be sign extended Date: Mon, 23 May 2016 18:30:30 -0400 Message-ID: <20160523223030.GH21636@brightrain.aerifal.cx> References: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1464042648 18252 80.91.229.3 (23 May 2016 22:30:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 23 May 2016 22:30:48 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-10058-gllmg-musl=m.gmane.org@lists.openwall.com Tue May 24 00:30:47 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1b4yN5-0002EN-M8 for gllmg-musl@m.gmane.org; Tue, 24 May 2016 00:30:47 +0200 Original-Received: (qmail 23750 invoked by uid 550); 23 May 2016 22:30:44 -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 23725 invoked from network); 23 May 2016 22:30:44 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:10045 Archived-At: On Mon, May 23, 2016 at 08:01:24PM +0200, Ed Schouten wrote: > Hi there, > > While reading some of musl's sources, I think I might have found a > tiny bug, though I haven't tested the code myself. > > The 'x' variable in the a64l() function has type uint32_t, meaning > that the function computes a value between [0,2^32). According to > POSIX, the return value of this function should be sign extended -- > not zero extended -- in case long is larger than 32 bits. This means > that the return statement in this function should either cast x to an > int32_t, or the declaration of x should be changed to an int32_t. Thanks. There are actually several more bugs here. I'm fixing them all together; see the commit message for details: https://git.musl-libc.org/cgit/musl/commit/?id=77baaa47e107f176fb2dc150dd6a9ad87f6cbe24 Rich