sequencer: use oidmap_clear_with_free() for string_entry cleanup

Switch cleanup of the string_entry oidmap to
oidmap_clear_with_free() and introduce a free_string_entry()
helper to properly free each allocated struct string_entry.

This aligns with the ongoing migration to use the callback-based
oidmap cleanup API.

Signed-off-by: Seyi Kuforiji <kuforiji98@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Seyi Kufoiji
2026-03-02 21:00:17 +01:00
committed by Junio C Hamano
parent bbf4b4b6db
commit af649b169a

View File

@@ -5654,6 +5654,12 @@ struct string_entry {
char string[FLEX_ARRAY];
};
static void free_string_entry(void *e)
{
struct string_entry *entry = container_of(e, struct string_entry, entry);
free(entry);
}
struct label_state {
struct oidmap commit2label;
struct hashmap labels;
@@ -6044,8 +6050,8 @@ static int make_script_with_merges(struct pretty_print_context *pp,
oidset_clear(&interesting);
oidset_clear(&child_seen);
oidset_clear(&shown);
oidmap_clear(&commit2todo, 1);
oidmap_clear(&state.commit2label, 1);
oidmap_clear_with_free(&commit2todo, free_string_entry);
oidmap_clear_with_free(&state.commit2label, free_string_entry);
hashmap_clear_and_free(&state.labels, struct labels_entry, entry);
strbuf_release(&state.buf);