summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJon French2019-04-17 17:22:30 +0100
committerJon French2019-04-17 17:22:30 +0100
commitba9894513af0c9b122be0af1afce37ef52d49116 (patch)
tree90d36ee5ff3125b2abe24cf7e77a2575a2516f56 /lib
parent1abd60eb5d5c1ce6b95d4f57731eed27ced3422f (diff)
now without memory leaks
Diffstat (limited to 'lib')
-rw-r--r--lib/rts.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/rts.c b/lib/rts.c
index 43367b71..ccad1f8a 100644
--- a/lib/rts.c
+++ b/lib/rts.c
@@ -288,6 +288,8 @@ void platform_read_mem(lbits *data,
mpz_init(addr_bv);
mpz_set_ui(addr_bv, addr);
read_ram(data, addr_size, n, (lbits){.len=0, .bits=NULL}, (lbits){.len=64, .bits=&addr_bv});
+ mpz_clear(addr_size);
+ mpz_clear(addr_bv);
}
unit platform_write_mem_ea(const int write_kind,
@@ -308,7 +310,10 @@ bool platform_write_mem(const int write_kind,
mpz_t addr_bv;
mpz_init(addr_bv);
mpz_set_ui(addr_bv, addr);
- return write_ram(addr_size, n, (lbits){.len=0, .bits=NULL}, (lbits){.len=64, .bits=&addr_bv}, data);
+ bool res = write_ram(addr_size, n, (lbits){.len=0, .bits=NULL}, (lbits){.len=64, .bits=&addr_bv}, data);
+ mpz_clear(addr_size);
+ mpz_clear(addr_bv);
+ return res;
}
bool platform_excl_res(const unit unit)