diff --git a/src/client/ns_turn_msg.c b/src/client/ns_turn_msg.c index bff048b..7f7c117 100644 --- a/src/client/ns_turn_msg.c +++ b/src/client/ns_turn_msg.c @@ -101,11 +101,14 @@ long turn_random(void) return ret; } -static void turn_random_tid_size(u32bits *ar) +static void turn_random_tid_size(void *id) { - size_t i; - for(i=0;i<3;++i) { - ar[i] = (u32bits)random(); + u32bits *ar=(u32bits*)id; + if(!RAND_pseudo_bytes((unsigned char *)ar,12)) { + size_t i; + for(i=0;i<3;++i) { + ar[i] = (u32bits)random(); + } } } @@ -952,8 +955,7 @@ void stun_tid_message_cpy(u08bits* buf, const stun_tid* id) { void stun_tid_generate(stun_tid* id) { if(id) { - u32bits *w=(u32bits*)(id->tsx_id); - turn_random_tid_size(w); + turn_random_tid_size(id->tsx_id); } }