Index: src/map.c ================================================================== --- src/map.c +++ src/map.c @@ -339,12 +339,14 @@ return false; if ((bucket = malloc(sizeof(*bucket))) == NULL) return false; - if ((bucket->key = cfw_copy(key)) == NULL) + if ((bucket->key = cfw_copy(key)) == NULL) { + free(bucket); return false; + } bucket->obj = cfw_ref(obj); bucket->hash = cfw_hash(key); map->data[i] = bucket;