mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Fix infinite loop with clock() returning (clock_t)-1.
Originally committed as revision 24116 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
65e3f89ffd
commit
6a522c49c2
@ -40,17 +40,17 @@ static int read_random(uint32_t *dst, const char *file)
|
|||||||
|
|
||||||
static uint32_t get_generic_seed(void)
|
static uint32_t get_generic_seed(void)
|
||||||
{
|
{
|
||||||
int last_t=0;
|
clock_t last_t=0;
|
||||||
int bits=0;
|
int bits=0;
|
||||||
uint64_t random=0;
|
uint64_t random=0;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
int s=0;
|
float s=0.000000000001;
|
||||||
|
|
||||||
for(i=0;bits<64;i++){
|
for(i=0;bits<64;i++){
|
||||||
int t= clock()>>s;
|
clock_t t= clock();
|
||||||
if(last_t && t != last_t){
|
if(last_t && fabs(t-last_t)>s || t==(clock_t)-1){
|
||||||
if(i<10000 && s<24){
|
if(i<10000 && s<(1<<24)){
|
||||||
s++;
|
s+=s;
|
||||||
i=t=0;
|
i=t=0;
|
||||||
}else{
|
}else{
|
||||||
random= 2*random + (i&1);
|
random= 2*random + (i&1);
|
||||||
|
Loading…
Reference in New Issue
Block a user