aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 2 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index aca2b6ac3e..f822bac773 100644
--- a/parse.y
+++ b/parse.y
@@ -9685,7 +9685,7 @@ rb_enc_symname2_p(const char *name, long len, rb_encoding *enc)
const char *e = m + len;
int localid = FALSE;
- if (!m) return FALSE;
+ if (!m || len <= 0) return FALSE;
switch (*m) {
case '\0':
return FALSE;
@@ -9738,8 +9738,8 @@ rb_enc_symname2_p(const char *name, long len, rb_encoding *enc)
break;
case '!':
+ if (len == 1) return FALSE;
switch (*++m) {
- case '\0': return TRUE;
case '=': case '~': ++m; break;
default: return FALSE;
}