Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 48e4b8d

Browse files
committed
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.
1 parent b3aaf90 commit 48e4b8d

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/port/erand48.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ pg_srand48(long seed)
9696
{
9797
_rand48_seed[0] = RAND48_SEED_0;
9898
_rand48_seed[1] = (unsigned short) seed;
99-
_rand48_seed[2] = (unsigned short) (seed > 16);
99+
_rand48_seed[2] = (unsigned short) (seed >> 16);
100100
_rand48_mult[0] = RAND48_MULT_0;
101101
_rand48_mult[1] = RAND48_MULT_1;
102102
_rand48_mult[2] = RAND48_MULT_2;

0 commit comments

Comments
 (0)