In article <20051005161522.19076C680D / lithium.ruby-lang.org>,
  matz / ruby-lang.org (matz) writes:

>   1.212       +23  -3    ruby/gc.c
>     http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/gc.c?cvsroot=src&r1=1.211&r2=1.212

思ったのですが、

+ruby_xmalloc2(long n, long size)
+{
+    long len = size * n;
+    if (len < n || (n > 0 && len < size)) {
+       rb_raise(rb_eArgError, "malloc: possible integer overflow");
+    }
+    return ruby_xmalloc(len);
+}

というのは integer overflow を完全には検出できないように思い
ます。

完全に検出する必要があるのかどうかわかりませんが、もし必要な
ら、先人の知恵を参照するのもいいかもしれません。

「ハッカーのたのしみ」に載っているのとか。
-- 
[田中 哲][たなか あきら][Tanaka Akira]