if (rng->fd_devurandom == -1) {
rng->fd_devurandom = open("/dev/urandom", O_RDONLY);
- if (rng < 0)
+ if (rng->fd_devurandom < 0)
return silc_rng_get_byte(rng);
fcntl(rng->fd_devurandom, F_SETFL, O_NONBLOCK);
}
SilcUInt32 silc_rng_get_rn32(SilcRng rng)
{
unsigned char rn[4];
- SilcUInt16 num;
+ SilcUInt32 num;
rn[0] = silc_rng_get_byte(rng);
rn[1] = silc_rng_get_byte(rng);