diff --git a/ChangeLog b/ChangeLog index 97db6d8bce..0b7ba03833 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Apr 27 23:13:20 2003 Nobuyoshi Nakada + + * string.c (rb_str_to_i): disallow negative radix. + [ruby-dev:20087] + Sat Apr 26 23:34:42 2003 Yukihiro Matsumoto * parse.y (open_args): warning message changed to "don't put space diff --git a/string.c b/string.c index 733a7dfc30..42177887a8 100644 --- a/string.c +++ b/string.c @@ -1836,6 +1836,9 @@ rb_str_to_i(argc, argv, str) if (argc == 0) base = 10; else base = NUM2INT(b); + if (base < 0) { + rb_raise(rb_eArgError, "illegal radix %d", base); + } return rb_str_to_inum(str, base, Qfalse); }