diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-09-03 16:18:01 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-09-03 16:18:01 -0400 |
commit | f655a9fd2677c76f3181c3c43c503da1607c2cdf (patch) | |
tree | e450a2446018dc3ee1096c6ff3d5bbffccdb8645 /src/port/rand.c | |
parent | cbd51548dc1869fde58b621ea3c2fc9386947ea9 (diff) | |
download | postgresql-f655a9fd2677c76f3181c3c43c503da1607c2cdf.tar.gz postgresql-f655a9fd2677c76f3181c3c43c503da1607c2cdf.zip |
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/port/rand.c')
-rw-r--r-- | src/port/rand.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/port/rand.c b/src/port/rand.c index b4631299e99..317a3eaeccb 100644 --- a/src/port/rand.c +++ b/src/port/rand.c @@ -71,7 +71,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; |