From d18dba4781fe5044e567fd3c85b43ea9a8b001b0 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sun, 17 May 2015 17:29:14 -0400 Subject: fix some memory leaks --- src/info.c | 5 +++-- src/load.c | 2 ++ src/main.c | 2 ++ src/sell.c | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/info.c b/src/info.c index 0fa66fe..3f79736 100644 --- a/src/info.c +++ b/src/info.c @@ -8,14 +8,15 @@ void info_handler(struct player_t *player) struct stock_t *stock = find_stock(player, sym); - free(sym); - if(!stock) { printf("Couldn't find '%s' in portfolio.\n", sym); + free(sym); return; } + free(sym); + printf("Transaction history:\n"); print_history(stock); } diff --git a/src/load.c b/src/load.c index 0e1a113..ed5a1f5 100644 --- a/src/load.c +++ b/src/load.c @@ -48,6 +48,8 @@ void load_handler(struct player_t *player) player->portfolio_len = 0; FILE *f = fopen(filename, "rb"); + free(filename); + char magic[6]; if(!f || fread(magic, 1, sizeof(magic), f) != 6 || memcmp(magic, "PORTv2", sizeof(magic)) != 0) { diff --git a/src/main.c b/src/main.c index c2f7b64..aea80c8 100644 --- a/src/main.c +++ b/src/main.c @@ -114,6 +114,8 @@ int main(int argc, char *argv[]) if(best_command >= 0) commands[best_command].handler(player); + free(cmdbuf); + printf("\n"); } } diff --git a/src/sell.c b/src/sell.c index d390419..da5aaa0 100644 --- a/src/sell.c +++ b/src/sell.c @@ -52,6 +52,7 @@ void sell_handler(struct player_t *player) { stock->count -= sell_count; + /* commented out to preserve history */ #if 0 if(stock->count == 0) { -- cgit v1.1