diff options
Diffstat (limited to 'src/survive.c')
-rw-r--r-- | src/survive.c | 10 |
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 ) |