[#14922] alias $gvar — Koji Arai <JCA02266@...>

新井です。

19 messages 2001/10/14

[#15006] Re: eval.c (rb_stack_check): prohibit recursive raising error — WATANABE Hirofumi <eban@...>

わたなべです。

13 messages 2001/10/26
[#15008] Re: eval.c (rb_stack_check): prohibit recursive raising error — Shugo Maeda <shugo@...> 2001/10/26

前田です。

[ruby-dev:14855] Re: str[re, -1] raises NoMemoryError

From: nobu.nakada@...
Date: 2001-10-03 04:05:47 UTC
List: ruby-dev #14855
なかだです。

At Wed, 3 Oct 2001 12:42:40 +0900,
matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
> |> % ./ruby -e 'p "abc"[/b/, -1]'
> |> -e:1:in `[]': negative allocation size (or too big) (NoMemoryError)
> |>         from -e:1
> |
> | この場合、/b/.match("abc").to_a[-1]が返るべきでしょうか、それ
> |とも$+?
> 
> 単純にいつもnilで良いのでは?

 てことはこう?


Index: re.c
===================================================================
RCS file: /cvs/ruby/src/ruby/re.c,v
retrieving revision 1.47
diff -u -2 -p -r1.47 re.c
--- re.c	2001/10/02 04:31:19	1.47
+++ re.c	2001/10/03 04:00:06
@@ -665,5 +665,5 @@ rb_reg_nth_defined(nth, match)
 {
     if (NIL_P(match)) return Qnil;
-    if (nth >= RMATCH(match)->regs->num_regs) {
+    if (nth < 0 || nth >= RMATCH(match)->regs->num_regs) {
 	return Qfalse;
     }
@@ -681,5 +681,5 @@ rb_reg_nth_match(nth, match)
 
     if (NIL_P(match)) return Qnil;
-    if (nth >= RMATCH(match)->regs->num_regs) {
+    if (nth < 0 || nth >= RMATCH(match)->regs->num_regs) {
 	return Qnil;
     }


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread