On Tue, Dec 09, 2014 at 00:00, Jonas 'Sortie' Termansen wrote:
> On 12/08/2014 09:55 PM, Theo de Raadt wrote:
>> Index: lib/libc/stdlib/mrand48.c
>> ===================================================================
>> RCS file: /cvs/src/lib/libc/stdlib/mrand48.c,v
>> retrieving revision 1.3
>> diff -u -p -u -r1.3 mrand48.c
>> --- lib/libc/stdlib/mrand48.c        8 Aug 2005 08:05:37 -0000       1.3
>> +++ lib/libc/stdlib/mrand48.c        8 Dec 2014 03:13:07 -0000
>> @@ -19,6 +19,8 @@ extern unsigned short __rand48_seed[3];
>>  long
>>  mrand48(void)
>>  {
>> +    if (__rand48_deterministic == 0)
>> +            return arc4random();
>>      __dorand48(__rand48_seed);
>>      return ((long) __rand48_seed[2] << 16) + (long) __rand48_seed[1];
>>  }
> 
> POSIX says mrand48 is meant to return signed integers in the interval
> [-2^31,2^31), but this code returns an unsigned 32-bit integer value.

Fixed. Thanks. (I think.) :)

Reply via email to