diff --git a/ChangeLog b/ChangeLog index 9d73e817f4..560a00ea72 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Sep 18 19:43:04 2008 Yusuke Endoh + + * st.c (new_size): raise RuntimeError when st_table is too big. + Thu Sep 18 18:23:23 2008 Tanaka Akira * transcode.c (enc_arg): must take pointer argument to avoid GC diff --git a/st.c b/st.c index a51d7cf8c8..54e10721b0 100644 --- a/st.c +++ b/st.c @@ -6,9 +6,7 @@ #include "regint.h" #include "st.h" #else -#include "ruby/config.h" -#include "ruby/defines.h" -#include "ruby/st.h" +#include "ruby/ruby.h" #endif #include @@ -135,6 +133,9 @@ new_size(int size) if (newsize > size) return primes[i]; } /* Ran out of polynomials */ +#ifndef NOT_RUBY + rb_raise(rb_eRuntimeError, "st_table too big"); +#endif return -1; /* should raise exception */ #endif }