ふなばです。

うちでもコアダンプしました。
例外にするとしたらこんなふうでしょうか  (nil だけでよかったかな)。参考
まで。


--- sprintf.c.orig	Thu Jul  9 17:40:27 1998
+++ sprintf.c	Sun Jul 12 22:26:11 1998
@@ -141,6 +141,10 @@
     ((argc == 0)?(ArgError("too few argument."),0):(argc--,((argv++)[0])))
 
     fmt = GETARG();
+    if (TYPE(fmt) != T_STRING) {
+	TypeError("wrong argument type %s (expected String)",
+		  rb_class2name(CLASS_OF(fmt)));
+    }
     p = str2cstr(fmt, &blen);
     end = p + blen;
     blen = 0;


--Tadayoshi Funaba