Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
bash
bash-2.05a-security.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bash-2.05a-security.patch of Package bash
--- variables.c +++ variables.c Wed Aug 21 12:14:18 2002 @@ -1035,6 +1035,7 @@ return v; } +#if !defined(linux) /* The random number seed. You can change this by setting RANDOM. */ static unsigned long rseed = 1; static int last_random_value; @@ -1060,6 +1061,21 @@ last_random_value = 0; } +#else + +static int last_sbrand_pid; + +static int brand () +{ + return random() & 32767; +} + +static void sbrand (unsigned long seed) +{ + srandom(seed); +} +#endif + static SHELL_VAR * assign_random (self, value, unused) SHELL_VAR *self; @@ -1075,6 +1091,7 @@ { int rv; +#if !defined(linux) /* Reset for command and process substitution. */ if (subshell_environment) sbrand (rseed + getpid() + NOW); @@ -1082,6 +1099,18 @@ do rv = brand (); while (rv == last_random_value); +#else + if (subshell_environment) + { + int mypid = getpid(); + if (mypid != last_sbrand_pid) + { + last_sbrand_pid = mypid; + sbrand (mypid + NOW); + } + } + rv = brand(); +#endif return rv; } @@ -1093,7 +1122,9 @@ char *p; rv = get_random_number (); +#if !defined(linux) last_random_value = rv; +#endif p = itos (rv); FREE (value_cell (var));
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