* numbers.c (scm_string_to_number): Signal an error if radix is
[bpt/guile.git] / libguile / numbers.c
index ff7ce28..7695628 100644 (file)
@@ -2450,7 +2450,11 @@ scm_string_to_number (str, radix)
   if (SCM_UNBNDP (radix))
     radix = SCM_MAKINUM (10L);
   else
-    SCM_ASSERT (SCM_INUMP (radix), radix, SCM_ARG2, s_string_to_number);
+    {
+      SCM_ASSERT (SCM_INUMP (radix), radix, SCM_ARG2, s_string_to_number);
+      SCM_ASSERT (SCM_INUM (radix) >= 2, radix, SCM_OUTOFRANGE,
+                 s_number_to_string);
+    }
   SCM_ASSERT (SCM_NIMP (str) && SCM_ROSTRINGP (str),
              str, SCM_ARG1, s_string_to_number);
   answer = scm_istring2number (SCM_ROCHARS (str),