Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 85e22736dde948b4af8fc20c2ecb80cd > files > 31

php-5.2.6-18.14mdv2009.0.src.rpm


 http://svn.php.net/viewvc?view=revision&revision=293253

Index: ext/standard/lcg.c
===================================================================
--- ext/standard/lcg.c	(revision 293036)
+++ ext/standard/lcg.c	(revision 293253)
@@ -78,7 +78,7 @@
 	struct timeval tv;
 
 	if (gettimeofday(&tv, NULL) == 0) {
-		LCG(s1) = tv.tv_sec ^ (~tv.tv_usec);
+		LCG(s1) = tv.tv_sec ^ (tv.tv_usec<<11);
 	} else {
 		LCG(s1) = 1;
 	}
@@ -88,6 +88,11 @@
 	LCG(s2) = (long) getpid();
 #endif
 
+	/* Add entropy to s2 by calling gettimeofday() again */
+	if (gettimeofday(&tv, NULL) == 0) {
+		LCG(s2) ^= (tv.tv_usec<<11);
+	}
+
 	LCG(seeded) = 1;
 }