56d343
2016-06-01  Jakub Jelinek  <jakub@redhat.com>
56d343
56d343
	Backported from mainline
56d343
	2015-10-02  Jonathan Wakely  <jwakely@redhat.com>
56d343
56d343
	PR libstdc++/65142
56d343
	* src/c++11/random.cc (random_device::_M_getval()): Check read result.
56d343
56d343
--- libstdc++-v3/src/c++11/random.cc	(revision 228423)
56d343
+++ libstdc++-v3/src/c++11/random.cc	(revision 228424)
56d343
@@ -126,8 +126,10 @@ namespace std _GLIBCXX_VISIBILITY(defaul
56d343
 #endif
56d343
 
56d343
     result_type __ret;
56d343
-    std::fread(reinterpret_cast<void*>(&__ret), sizeof(result_type),
56d343
-	       1, _M_file);
56d343
+    const size_t e = std::fread(reinterpret_cast<void*>(&__ret),
56d343
+				sizeof(result_type), 1, _M_file);
56d343
+    if (e != 1)
56d343
+      std::__throw_runtime_error(__N("random_device could not be read"));
56d343
     return __ret;
56d343
   }
56d343