aboutsummaryrefslogtreecommitdiff
path: root/src/survive.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/survive.c')
-rw-r--r--src/survive.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/survive.c b/src/survive.c
index 306dbe1..9bc1a2c 100644
--- a/src/survive.c
+++ b/src/survive.c
@@ -136,11 +136,15 @@ void survive_close( struct SurviveContext * ctx )
int i;
for( i = 0; i < oldct; i++ )
{
- ctx->driverpolls[i]( ctx, ctx->drivers[i] );
+ ctx->drivercloses[i]( ctx, ctx->drivers[i] );
}
- //TODO: Free everything except for self.
- //XXX Will leak memory.
+ free( ctx->objs );
+ free( ctx->drivers );
+ free( ctx->driverpolls );
+ free( ctx->drivermagics );
+ free( ctx->drivercloses );
+ free( ctx );
}
int survive_poll( struct SurviveContext * ctx )