Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Apr 2013 19:33:35 +0000 (UTC)
From:      Gavin Atkinson <gavin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org
Subject:   svn commit: r249031 - releng/8.4/lib/libc/stdlib
Message-ID:  <201304021933.r32JXZqg024034@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gavin
Date: Tue Apr  2 19:33:35 2013
New Revision: 249031
URL: http://svnweb.freebsd.org/changeset/base/249031

Log:
  When r241373 was merged, one file appears to have been missed from the
  commit.  Merge it:
          Remove undefined behavior from sranddev() and
          srandomdev(). This doesn't actually work
          with any modern C compiler:
  
          In particular, both clang and modern gcc
          verisons silently elide any xor operation
          with 'junk'.
  
  No mergeinfo changes with this commit as r241475 already updated the
  mergeinfo.
  
  Approved by:	re (jpaetzel)

Modified:
  releng/8.4/lib/libc/stdlib/random.c

Modified: releng/8.4/lib/libc/stdlib/random.c
==============================================================================
--- releng/8.4/lib/libc/stdlib/random.c	Tue Apr  2 19:07:11 2013	(r249030)
+++ releng/8.4/lib/libc/stdlib/random.c	Tue Apr  2 19:33:35 2013	(r249031)
@@ -315,10 +315,9 @@ srandomdev()
 
 	if (!done) {
 		struct timeval tv;
-		unsigned long junk;
 
 		gettimeofday(&tv, NULL);
-		srandom((getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec ^ junk);
+		srandom((getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec);
 		return;
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304021933.r32JXZqg024034>