mailing list of musl libc
 help / color / mirror / code / Atom feed
* a64l(): return value should be sign extended
@ 2016-05-23 18:01 Ed Schouten
  2016-05-23 22:30 ` Rich Felker
  0 siblings, 1 reply; 2+ messages in thread
From: Ed Schouten @ 2016-05-23 18:01 UTC (permalink / raw)
  To: musl

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.

Best regards,
-- 
Ed Schouten <ed@nuxi.nl>
Nuxi, 's-Hertogenbosch, the Netherlands
KvK-nr.: 62051717


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: a64l(): return value should be sign extended
  2016-05-23 18:01 a64l(): return value should be sign extended Ed Schouten
@ 2016-05-23 22:30 ` Rich Felker
  0 siblings, 0 replies; 2+ messages in thread
From: Rich Felker @ 2016-05-23 22:30 UTC (permalink / raw)
  To: musl

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-05-23 22:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-23 18:01 a64l(): return value should be sign extended Ed Schouten
2016-05-23 22:30 ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).