From 45d7aff47545f52136487fbb5b06cdcf716cbe9f Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 13 Jan 2021 01:48:36 -0800 Subject: Major overhaul of some of the memory tracking code, as well as some cleanup of the compilation code. --- file_loader.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'file_loader.c') diff --git a/file_loader.c b/file_loader.c index 749e985..27f871f 100644 --- a/file_loader.c +++ b/file_loader.c @@ -124,10 +124,12 @@ void destroy_file(file_t **f) xfree(&((*f)->filename)); (*f)->filename = NULL; } + if ((*f)->lines) { xfree(&((*f)->lines)); (*f)->lines = NULL; } + if ((*f)->contents) { if ((*f)->mmapped) { munmap((*f)->contents, (size_t)((*f)->end - (*f)->contents)); @@ -136,6 +138,14 @@ void destroy_file(file_t **f) } (*f)->contents = NULL; } + + while ((*f)->ops) { + allocated_op_t *tofree = (*f)->ops; + (*f)->ops = tofree->next; + memset(tofree, 'A', sizeof(allocated_op_t)); // Sentinel + xfree(&tofree); + } + xfree(f); } -- cgit v1.2.3