Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 21 Sep 2014 15:45:59 +0200
From: Jens Gustedt <>
Subject: Re: Re: drand48() gives wrong sequence?

Am Sonntag, den 21.09.2014, 14:27 +0100 schrieb Justin Cormack:
> Hmm, just checked on a non-OSv Musl system and get the same result as
> you. I also checked on NetBSD and FreeBSD and they give the same
> result as glibc, so I think there must be a Musl bug.

In __rand48_step there is this line

	x = xi[0] | xi[1]<<16 | xi[2]+0ULL<<32;

on arch with 16bit int this would be UB, no? Do we have such archs,

In any case, doing something like

	x = xi[0]+0ULL | xi[1]+0ULL<<16 | xi[2]+0ULL<<32;

shouldn't cost anything and should ensure the correct conversion in
all cases.


:: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS :::
:: ::::::::::::::: office Strasbourg : +33 368854536   ::
:: :::::::::::::::::::::: gsm France : +33 651400183   ::
:: ::::::::::::::: gsm international : +49 15737185122 ::
:: ::

Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)

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.