summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-18 22:13:33 +0900
committerGitHub <[email protected]>2017-08-18 22:13:33 +0900
commit11c3ad999ed442e42a30a95f0211de326be10f85 (patch)
treece4fe6fad81df111abbe08b594da18ceec99c0ec
parentf229ed917e1d067532c1abf2a8c2dbbab77f3460 (diff)
parent5dc688fb1205b9e0f8ae2b531786371c1a6e794b (diff)
downloadmruby-11c3ad999ed442e42a30a95f0211de326be10f85.tar.gz
mruby-11c3ad999ed442e42a30a95f0211de326be10f85.zip
Merge pull request #3781 from clayton-shopify/fix-hash-compact-bang
Check whether internal khash is initialized in Hash#compact!
-rw-r--r--mrbgems/mruby-hash-ext/src/hash-ext.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mrbgems/mruby-hash-ext/src/hash-ext.c b/mrbgems/mruby-hash-ext/src/hash-ext.c
index 00d0c4eaa..952f2eb64 100644
--- a/mrbgems/mruby-hash-ext/src/hash-ext.c
+++ b/mrbgems/mruby-hash-ext/src/hash-ext.c
@@ -52,6 +52,7 @@ hash_compact_bang(mrb_state *mrb, mrb_value hash)
khash_t(ht) *h = RHASH_TBL(hash);
mrb_int n = -1;
+ if (!h) return mrb_nil_value();
for (k = kh_begin(h); k != kh_end(h); k++) {
if (kh_exist(h, k)) {
mrb_value val = kh_value(h, k).v;