bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#10862: [PATCH] Fix a segfault when /dev/urandom is not accessible


From: Giuseppe Scrivano
Subject: bug#10862: [PATCH] Fix a segfault when /dev/urandom is not accessible
Date: Tue, 21 Feb 2012 16:11:43 +0100

Hello schemers,

The function `fresh_syntax_session_id' defined macros.c assumes the
random module is loaded by calling `scm_i_random_bytes_from_platform'.
There are no symptoms when `read_dev_urandom' (random.c) works correctly
but the fallback method causes a segfault.

This patch fixes it.


Cheers,
Giuseppe



>From a8707a154c401bfad91678556342ca698bf873cf Mon Sep 17 00:00:00 2001
From: Giuseppe Scrivano <address@hidden>
Date: Tue, 21 Feb 2012 15:55:44 +0100
Subject: [PATCH] Fix a segfault when /dev/urandom is not accessible

* libguile/init.c (scm_i_init_guile): Call `scm_init_random' before
`scm_init_macros'.
---
 libguile/init.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libguile/init.c b/libguile/init.c
index 7dec116..fbf8c7f 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -443,7 +443,8 @@ scm_i_init_guile (void *base)
   scm_init_ioext ();
   scm_init_keywords ();    /* Requires smob_prehistory */
   scm_init_list ();
-  scm_init_macros ();      /* Requires smob_prehistory */
+  scm_init_random ();      /* Requires smob_prehistory */
+  scm_init_macros ();      /* Requires smob_prehistory and random */
   scm_init_mallocs ();     /* Requires smob_prehistory */
   scm_init_modules ();     /* Requires smob_prehistory */
   scm_init_numbers ();
@@ -501,7 +502,6 @@ scm_i_init_guile (void *base)
   scm_init_eval_in_scheme ();
   scm_init_evalext ();
   scm_init_debug ();   /* Requires macro smobs */
-  scm_init_random ();   /* Requires smob_prehistory */
   scm_init_simpos ();
 #if HAVE_MODULES
   scm_init_dynamic_linking (); /* Requires smob_prehistory */
-- 
1.7.7.6






reply via email to

[Prev in Thread] Current Thread [Next in Thread]