Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
error = errno;
fprintf(stderr, "Error opening file %s: %s\n",
RND_DEV, strerror(error));
- return -1;
+ ret = error;
+ goto err;
}
do {
error = errno;
fprintf(stderr, "Error reading file %s: %s\n",
RND_DEV, strerror(error));
- goto out;
+ ret = error;
+ goto err;
}
i += ret;
} while (i < RAND_BUF_SIZE * sizeof(rndbuf[0]));
index = 0;
- out:
+out:
+ close(fd);
return get_random();
+
+err:
close(fd);
+ return ret;
}
double get_random_double(void)