From 9e4eadf0c7eab7e51facad1c38b1d850dafd36e7 Mon Sep 17 00:00:00 2001 From: Mistivia Date: Wed, 24 Dec 2025 20:15:15 +0800 Subject: fix day 9 leak --- 09/part1.c | 2 ++ 09/part2.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/09/part1.c b/09/part1.c index 039d1b0..987163d 100644 --- a/09/part1.c +++ b/09/part1.c @@ -108,5 +108,7 @@ int main() { } } printf("%ld\n", max_area); + + Vec2Vector_free(&tiles); return 0; } \ No newline at end of file diff --git a/09/part2.c b/09/part2.c index 129a671..4ba1ba0 100644 --- a/09/part2.c +++ b/09/part2.c @@ -350,5 +350,24 @@ int main() { } } printf("%ld\n", max_area); + + Vec2Vector_free(&tiles); + Int2RangeVectorTreeMapIter it; + for (it = Int2RangeVectorTreeMap_min(&hlines); it != NULL; it = Int2RangeVectorTreeMap_next(&hlines, it)) { + RangeVector_free(&it->value); + } + Int2RangeVectorTreeMap_free(&hlines); + for (it = Int2RangeVectorTreeMap_min(&vlines); it != NULL; it = Int2RangeVectorTreeMap_next(&vlines, it)) { + RangeVector_free(&it->value); + } + Int2RangeVectorTreeMap_free(&vlines); + for (int i = 0; i < vsegs.size; i++) { + RangeVector_free(&vsegs.buffer[i]); + } + RangeVectorVector_free(&vsegs); + for (int i = 0; i < hsegs.size; i++) { + RangeVector_free(&hsegs.buffer[i]); + } + RangeVectorVector_free(&hsegs); return 0; } \ No newline at end of file -- cgit v1.0