Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 23 May 2016 18:30:30 -0400
From: Rich Felker <>
Subject: Re: a64l(): return value should be sign extended

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:


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.