diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-09-03 16:17:44 -0400 | 
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-09-03 16:17:44 -0400 | 
| commit | 0962182f01c1e29417b016a82c7947697daba82b (patch) | |
| tree | 1711bd3ab007f098d751195647b64d764a03eb02 /src | |
| parent | 2cda30e757a95f2c2dfa9d3a1726959fa6b02357 (diff) | |
Fix typo in pg_srand48 (srand48 in older branches).
">" should be ">>".  This typo results in failure to use all of the bits
of the provided seed.
This might rise to the level of a security bug if we were relying on
srand48 for any security-critical purposes, but we are not --- in fact,
it's not used at all unless the platform lacks srandom(), which is
improbable.  Even on such a platform the exposure seems minimal.
Reported privately by Andres Freund.
Diffstat (limited to 'src')
| -rw-r--r-- | src/port/erand48.c | 2 | 
1 files changed, 1 insertions, 1 deletions
| diff --git a/src/port/erand48.c b/src/port/erand48.c index ce623e2e965..3ed0193ef94 100644 --- a/src/port/erand48.c +++ b/src/port/erand48.c @@ -92,7 +92,7 @@ srand48(long seed)  {  	_rand48_seed[0] = RAND48_SEED_0;  	_rand48_seed[1] = (unsigned short) seed; -	_rand48_seed[2] = (unsigned short) (seed > 16); +	_rand48_seed[2] = (unsigned short) (seed >> 16);  	_rand48_mult[0] = RAND48_MULT_0;  	_rand48_mult[1] = RAND48_MULT_1;  	_rand48_mult[2] = RAND48_MULT_2; | 
