Fix bug in rnd_pseudo_rnd() test helper function

Only the first 4 bytes of the output were set, the rest was untouched.
This commit is contained in:
Manuel Pégourié-Gonnard 2014-01-03 11:59:09 +01:00
parent c78c8422c2
commit 217a29c844

View File

@ -206,7 +206,7 @@ static int rnd_pseudo_rand( void *rng_state, unsigned char *output, size_t len )
{
rnd_pseudo_info *info = (rnd_pseudo_info *) rng_state;
uint32_t i, *k, sum, delta=0x9E3779B9;
unsigned char result[4];
unsigned char result[4], *out = output;
if( rng_state == NULL )
return( rnd_std_rand( NULL, output, len ) );
@ -226,8 +226,9 @@ static int rnd_pseudo_rand( void *rng_state, unsigned char *output, size_t len )
}
PUT_UINT32_BE( info->v0, result, 0 );
memcpy( output, result, use_len );
memcpy( out, result, use_len );
len -= use_len;
out += 4;
}
return( 0 );