diff options
Diffstat (limited to 'src/login/logind-button.c')
-rw-r--r-- | src/login/logind-button.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/login/logind-button.c b/src/login/logind-button.c index 727dad0b16..7f95fa7a4f 100644 --- a/src/login/logind-button.c +++ b/src/login/logind-button.c @@ -53,8 +53,9 @@ Button* button_new(Manager *m, const char *name) { return b; } -void button_free(Button *b) { - assert(b); +Button *button_free(Button *b) { + if (!b) + return NULL; hashmap_remove(b->manager->buttons, b->name); @@ -65,7 +66,8 @@ void button_free(Button *b) { free(b->name); free(b->seat); - free(b); + + return mfree(b); } int button_set_seat(Button *b, const char *sn) { |