diff options
Diffstat (limited to 'delta-islands.c')
-rw-r--r-- | delta-islands.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/delta-islands.c b/delta-islands.c index 8b234cb85b..afdec0a878 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -517,11 +517,13 @@ void free_island_marks(void) { struct island_bitmap *bitmap; - kh_foreach_value(island_marks, bitmap, { - if (!--bitmap->refcount) - free(bitmap); - }); - kh_destroy_oid_map(island_marks); + if (island_marks) { + kh_foreach_value(island_marks, bitmap, { + if (!--bitmap->refcount) + free(bitmap); + }); + kh_destroy_oid_map(island_marks); + } /* detect use-after-free with a an address which is never valid: */ island_marks = (void *)-1; |