summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-10-12 08:30:57 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-10-12 08:30:57 +0900
commit249fef7dc49ee5c22256aa7e9c36cd788e0ba323 (patch)
tree4032fe737f1e6672562a110c9f62e866045e078c
parent82e00ce60f358489ae2c3a7fdbe4da9bf264b286 (diff)
downloadmruby-249fef7dc49ee5c22256aa7e9c36cd788e0ba323.tar.gz
mruby-249fef7dc49ee5c22256aa7e9c36cd788e0ba323.zip
Add `NULL` check in `sg_compact()`; fix #4139
-rw-r--r--src/hash.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/hash.c b/src/hash.c
index 5bccb3091..325c7e66f 100644
--- a/src/hash.c
+++ b/src/hash.c
@@ -226,12 +226,14 @@ sg_index(mrb_state *mrb, seglist *t)
static void
sg_compact(mrb_state *mrb, seglist *t)
{
- segment *seg = t->rootseg;
+ segment *seg;
mrb_int i;
segment *seg2 = NULL;
mrb_int i2;
mrb_int size = 0;
+ if (t == NULL) return;
+ seg = t->rootseg;
if (t->index && (size_t)t->size == t->index->size) {
sg_index(mrb, t);
return;