Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:ALP:Source:Standard:0.1
libxslt
libxslt-random-seed.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libxslt-random-seed.patch of Package libxslt
commit 047a0fd99e64c554c4edf44cc67ee765b09af017 Author: Marcus Meissner <meissner@suse.de> Date: Tue Apr 4 16:27:39 2017 +0200 initialize the random seed Index: libxslt-v1.1.36/libexslt/math.c =================================================================== --- libxslt-v1.1.36.orig/libexslt/math.c +++ libxslt-v1.1.36/libexslt/math.c @@ -12,6 +12,14 @@ #include <math.h> #include <stdlib.h> +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif +#include <fcntl.h> +#ifdef HAVE_TIME_H +#include <time.h> +#endif + #include "exslt.h" /** @@ -460,6 +468,20 @@ static double exsltMathRandom (void) { double ret; int num; + long seed; + static int randinit = 0; + + if (!randinit) { + int fd = open("/dev/urandom",O_RDONLY); + + seed = time(NULL); /* just in case /dev/urandom is not there */ + if (fd != -1) { + read (fd, &seed, sizeof(seed)); + close (fd); + } + srand(seed); + randinit = 1; + } num = rand(); ret = (double)num / (double)RAND_MAX;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor