summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorksss <[email protected]>2014-04-09 23:11:37 +0900
committerksss <[email protected]>2014-04-09 23:11:37 +0900
commitcf5aabeba1c6dd552d93787a08fbf6e62f950e79 (patch)
tree7d3ed8903da9c0577a771610cd8d5a00ef2e7408
parent90e1a4fb566e030fac0dc4d00cd47227d72e2fff (diff)
downloadmruby-cf5aabeba1c6dd552d93787a08fbf6e62f950e79.tar.gz
mruby-cf5aabeba1c6dd552d93787a08fbf6e62f950e79.zip
add assert before write khash del flags
-rw-r--r--include/mruby/khash.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/mruby/khash.h b/include/mruby/khash.h
index a2e6ef6f7..f735d2639 100644
--- a/include/mruby/khash.h
+++ b/include/mruby/khash.h
@@ -193,6 +193,7 @@ kh_fill_flags(uint8_t *p, uint8_t c, size_t len)
void kh_del_##name(mrb_state *mrb, kh_##name##_t *h, khint_t x) \
{ \
(void)mrb; \
+ mrb_assert(x != h->n_buckets && !__ac_iseither(h->ed_flags, x)); \
h->ed_flags[x/4] |= __m_del[x%4]; \
h->size--; \
} \