[gnumeric] random: fix potential problem in random-from-device.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] random: fix potential problem in random-from-device.
- Date: Tue, 3 Aug 2010 17:30:58 +0000 (UTC)
commit 8dbf167d68b4bc7b643c30a41c7ce7ae76464fca
Author: Morten Welinder <terra gnome org>
Date: Tue Aug 3 13:30:35 2010 -0400
random: fix potential problem in random-from-device.
ChangeLog | 5 +++++
src/gnm-random.c | 7 ++++---
2 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f670d80..e272e76 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-08-03 Morten Welinder <terra gnome org>
+
+ * src/gnm-random.c (random_01_device): Read the right number of
+ new bytes, just in case.
+
2010-08-02 Morten Welinder <terra gnome org>
* src/gnm-random.c: Split from src/mathfunc.c.
diff --git a/src/gnm-random.c b/src/gnm-random.c
index 9ca3bee..6bf6cef 100644
--- a/src/gnm-random.c
+++ b/src/gnm-random.c
@@ -288,7 +288,8 @@ random_01_device (void)
static unsigned char data[32 * sizeof (gnm_float)];
while (bytes_left < sizeof (gnm_float)) {
- gssize items = fread (data + bytes_left, 1, sizeof (data),
+ gssize items = fread (data + bytes_left, 1,
+ sizeof (data) - bytes_left,
random_device_file);
if (items <= 0) {
g_warning ("Reading from %s failed; reverting to pseudo-random.",
@@ -1369,7 +1370,7 @@ random_landau (void)
* Generate a skew-normal distributed random number.
*
* based on the information provided at
- * http://azzalini.stat.unipd.it/SN/faq.html
+ * http://azzalini.stat.unipd.it/SN/faq-r.html
*
*/
@@ -1393,7 +1394,7 @@ random_skew_normal (gnm_float a)
* Generate a skew-t distributed random number.
*
* based on the information provided at
- * http://azzalini.stat.unipd.it/SN/faq.html
+ * http://azzalini.stat.unipd.it/SN/faq-r.html
*
*/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]