From 6e620becc8543e9ea8381fcd779dd932c2464749 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 9 May 2010 23:41:03 +0200 Subject: swap: properly free instance data --- swap.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/swap.c b/swap.c index aacf0e8d55..5c161e10ca 100644 --- a/swap.c +++ b/swap.c @@ -40,6 +40,14 @@ static const UnitActiveState state_translation_table[_SWAP_STATE_MAX] = { [SWAP_MAINTAINANCE] = UNIT_INACTIVE }; +static void swap_done(Unit *u) { + Swap *s = SWAP(u); + + assert(s); + + free(s->what); +} + static int swap_verify(Swap *s) { bool b; char *e; @@ -398,8 +406,10 @@ const UnitVTable swap_vtable = { .no_alias = true, .no_instances = true, + .no_isolate = true, .load = swap_load, + .done = swap_done, .coldplug = swap_coldplug, @@ -418,7 +428,6 @@ const UnitVTable swap_vtable = { .bus_message_handler = bus_swap_message_handler, - .shutdown = swap_shutdown, - - .enumerate = swap_enumerate + .enumerate = swap_enumerate, + .shutdown = swap_shutdown }; -- cgit v1.2.3-54-g00ecf