From 600c7fcd2ca1827cb1e02d8821878410ae410638 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 18 Jun 2024 01:50:21 -0400 Subject: cxrefbas and renumbas: free allocated memory on exit. --- cxrefbas.c | 1 + linetab.c | 5 +++++ linetab.h | 1 + renumbas.c | 1 + 4 files changed, 8 insertions(+) diff --git a/cxrefbas.c b/cxrefbas.c index 5111e18..ad7a640 100644 --- a/cxrefbas.c +++ b/cxrefbas.c @@ -67,6 +67,7 @@ int main(int argc, char **argv) { build_ref_table(); print_ref_table(); + free_ref_table(); return 0; } diff --git a/linetab.c b/linetab.c index 1889689..5fb0a32 100644 --- a/linetab.c +++ b/linetab.c @@ -164,3 +164,8 @@ void build_ref_table(void) { on_start_stmt = on_cmd_token = on_exp_token = on_var_token = 0; } +void free_ref_table(void) { + int i; + for(i = 0; i < 32768; i++) + if(linerefs[i]) free(linerefs[i]); +} diff --git a/linetab.h b/linetab.h index c6aeb15..e38335a 100644 --- a/linetab.h +++ b/linetab.h @@ -20,3 +20,4 @@ extern int lines_exist[]; extern void add_lineref(unsigned short from, unsigned short pos); extern void build_ref_table(void); +extern void free_ref_table(void); diff --git a/renumbas.c b/renumbas.c index 3eafc5e..abe3029 100644 --- a/renumbas.c +++ b/renumbas.c @@ -119,6 +119,7 @@ int main(int argc, char **argv) { build_ref_table(); renumber(); + free_ref_table(); open_output(output_filename); writefile(); -- cgit v1.2.3