aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-05-17 17:29:14 -0400
committerFranklin Wei <git@fwei.tk>2015-05-17 17:29:14 -0400
commitd18dba4781fe5044e567fd3c85b43ea9a8b001b0 (patch)
tree8a454c5c31cfc72d17e6ccda5137582b1bae3e82 /src
parent8e9a52ceae1f2e0fac76d06ff5e6a2170dcdd1bb (diff)
downloadmarket-sim-d18dba4781fe5044e567fd3c85b43ea9a8b001b0.zip
market-sim-d18dba4781fe5044e567fd3c85b43ea9a8b001b0.tar.gz
market-sim-d18dba4781fe5044e567fd3c85b43ea9a8b001b0.tar.bz2
market-sim-d18dba4781fe5044e567fd3c85b43ea9a8b001b0.tar.xz
fix some memory leaks
Diffstat (limited to 'src')
-rw-r--r--src/info.c5
-rw-r--r--src/load.c2
-rw-r--r--src/main.c2
-rw-r--r--src/sell.c1
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)
{