summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--regparse.c12
2 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 83d876b020..63ac6b9c31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Oct 12 05:51:11 2009 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * regparse.c (fetch_token): warn invalid back reference
+ and subexp call. (\k and \g).
+
Mon Oct 12 03:47:42 2009 NARUSE, Yui <naruse@ruby-lang.org>
* marshal.c (has_encoding): added for check the regexp
diff --git a/regparse.c b/regparse.c
index 0cc9a62e34..9f46b15cd4 100644
--- a/regparse.c
+++ b/regparse.c
@@ -3585,8 +3585,10 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env)
}
}
}
- else
- PUNFETCH;
+ else {
+ PUNFETCH;
+ onig_syntax_warn(env, "invalid back reference");
+ }
}
break;
#endif
@@ -3608,8 +3610,10 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env)
tok->u.call.name_end = name_end;
tok->u.call.gnum = gnum;
}
- else
- PUNFETCH;
+ else {
+ onig_syntax_warn(env, "invalid subexp call");
+ PUNFETCH;
+ }
}
break;
#endif