summaryrefslogtreecommitdiffhomepage
path: root/src/symbol.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-11-26 13:18:45 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-11-26 13:18:45 +0900
commit63d4e8eca2d04857dd9e582b87c286c6a943e135 (patch)
tree68f6f9a1acc3be05859f27368ff8f1239856eef1 /src/symbol.c
parent7150c6753933f12a2ba63769fb7b3a44cfcddd3d (diff)
downloadmruby-63d4e8eca2d04857dd9e582b87c286c6a943e135.tar.gz
mruby-63d4e8eca2d04857dd9e582b87c286c6a943e135.zip
Fix a bug in `find_symbol()`; fix #5192
Diffstat (limited to 'src/symbol.c')
-rw-r--r--src/symbol.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/symbol.c b/src/symbol.c
index f08287d93..c78f41f63 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -170,7 +170,7 @@ find_symbol(mrb_state *mrb, const char *name, size_t len, uint8_t *hashp)
sname = &mrb->symtbl[i];
while (mrb->symtbl < sname) {
if (sname->len == len && memcmp(sname->name, name, len) == 0) {
- return (mrb_sym)(sname - mrb->symtbl)<<SYMBOL_SHIFT;
+ return (mrb_sym)((sname - mrb->symtbl)+MRB_PRESYM_MAX)<<SYMBOL_SHIFT;
}
sname--;
}