summaryrefslogtreecommitdiff
path: root/symbol.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-07-19 20:24:26 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-07-20 00:23:38 +0900
commit8f1759143533d2b772efd5184ba02738f66fe1fc (patch)
tree91dfd47878e482585e954d622e231e324fdbfbf0 /symbol.c
parent631b34ef95cdcc6cb21eaae339176bd2b63a9bca (diff)
downloadruby-8f1759143533d2b772efd5184ba02738f66fe1fc.tar.gz
[Bug #18905] Check symbol name types more strictly
Diffstat (limited to 'symbol.c')
-rw-r--r--symbol.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/symbol.c b/symbol.c
index f5e876c7d7..dc7d72cb90 100644
--- a/symbol.c
+++ b/symbol.c
@@ -378,7 +378,7 @@ rb_enc_symname_type(const char *name, long len, rb_encoding *enc, unsigned int a
if (m >= e || (*m != '_' && !ISALPHA(*m) && ISASCII(*m))) {
if (len > 1 && *(e-1) == '=') {
type = rb_enc_symname_type(name, len-1, enc, allowed_attrset);
- if (type != ID_ATTRSET) return ID_ATTRSET;
+ if (allowed_attrset & (1U << type)) return ID_ATTRSET;
}
return -1;
}