From 1e2dac3026bc2cccccfd61811f844127184889da Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 25 Aug 2016 23:58:40 -0400 Subject: [PATCH] Free memory buffer after closing port --- runtime.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runtime.c b/runtime.c index d3f81c4e..be6f19b8 100644 --- a/runtime.c +++ b/runtime.c @@ -2442,6 +2442,12 @@ object Cyc_io_close_port(void *data, object port) if (stream) fclose(stream); ((port_type *) port)->fp = NULL; + + if (((port_type *)port)->mem_buf != NULL){ + free( ((port_type *)port)->mem_buf ); + ((port_type *)port)->mem_buf = NULL; + ((port_type *)port)->mem_buf_len = 0; + } } return port; }