aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChen Gang <gang.chen.5i5j@gmail.com>2015-01-22 16:40:51 +0000
committerJeff Law <law@gcc.gnu.org>2015-01-22 09:40:51 -0700
commit0c7990560b5c901884b0c2f5464c3240c0ee02cb (patch)
tree3b0f3d1cdd2843bf451a763f8e644194a160d89e /gcc
parente34a176a117fb0732f3b2da7e6f0aca3cc67a82e (diff)
downloadgcc-0c7990560b5c901884b0c2f5464c3240c0ee02cb.zip
gcc-0c7990560b5c901884b0c2f5464c3240c0ee02cb.tar.gz
gcc-0c7990560b5c901884b0c2f5464c3240c0ee02cb.tar.bz2
toplev.c (init_local_tick): Process the failure when read fails for random_seed.
* toplev.c (init_local_tick): Process the failure when read fails for random_seed. From-SVN: r220006
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/toplev.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b636b51..aeddcb8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2015-01-23 Chen Gang <gang.chen.5i5j@gmail.com>
+ * toplev.c (init_local_tick): Process the failure when read
+ fails for random_seed.
+
* ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
'pretty_name' to avoid memory overflow.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 7bf177f..15b85e1 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -295,7 +295,9 @@ init_local_tick (void)
int fd = open ("/dev/urandom", O_RDONLY);
if (fd >= 0)
{
- read (fd, &random_seed, sizeof (random_seed));
+ if (read (fd, &random_seed, sizeof (random_seed))
+ != sizeof (random_seed))
+ random_seed = 0;
close (fd);
}