unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#18065: guile hangs if strerror is called with invalid (non-int) argument
@ 2014-07-20 15:25 Glenn Michaels
  2014-08-01 19:47 ` Ian Price
  2014-11-12  6:05 ` Mark H Weaver
  0 siblings, 2 replies; 3+ messages in thread
From: Glenn Michaels @ 2014-07-20 15:25 UTC (permalink / raw)
  To: 18065

Calling strerror with a non-integer argument causes guile to hang.
e.g.:

(strerror 1.5)

It's a locking issue, which is solved by the following trivial patch:

--- a/libguile/error.c
+++ b/libguile/error.c
@@ -121,10 +121,12 @@ SCM_DEFINE (scm_strerror, "strerror", 1, 0, 0,
 #define FUNC_NAME s_scm_strerror
 {
   SCM ret;
+  int errnum;
   scm_dynwind_begin (0);
+  errnum = scm_to_int (err);
   scm_i_dynwind_pthread_mutex_lock (&scm_i_misc_mutex);
 
-  ret = scm_from_locale_string (strerror (scm_to_int (err)));
+  ret = scm_from_locale_string (strerror (errnum));
 
   scm_dynwind_end ();
   return ret;





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-12  6:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-20 15:25 bug#18065: guile hangs if strerror is called with invalid (non-int) argument Glenn Michaels
2014-08-01 19:47 ` Ian Price
2014-11-12  6:05 ` Mark H Weaver

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).