Add mrb_hash_modify() to Hash#{delete,clear}; ref #3370

This issue was reported by https://hackerone.com/an0n-j
parent bc1259de
...@@ -554,6 +554,7 @@ mrb_hash_delete(mrb_state *mrb, mrb_value self) ...@@ -554,6 +554,7 @@ mrb_hash_delete(mrb_state *mrb, mrb_value self)
mrb_value key; mrb_value key;
mrb_get_args(mrb, "o", &key); mrb_get_args(mrb, "o", &key);
mrb_hash_modify(mrb, self);
return mrb_hash_delete_key(mrb, self, key); return mrb_hash_delete_key(mrb, self, key);
} }
...@@ -620,6 +621,7 @@ mrb_hash_clear(mrb_state *mrb, mrb_value hash) ...@@ -620,6 +621,7 @@ mrb_hash_clear(mrb_state *mrb, mrb_value hash)
{ {
khash_t(ht) *h = RHASH_TBL(hash); khash_t(ht) *h = RHASH_TBL(hash);
mrb_hash_modify(mrb, hash);
if (h) kh_clear(ht, mrb, h); if (h) kh_clear(ht, mrb, h);
return hash; return hash;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment