From: Lennart Poettering Date: Fri, 24 Oct 2014 16:33:29 +0000 (+0200) Subject: calendar: make freeing a calendar spec object deal fine with NULL X-Git-Tag: v217~77 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=0b76b4d8c28e8d82422ddeea2cc3c079fe4bb3dc calendar: make freeing a calendar spec object deal fine with NULL In order to make object destruction easier (in particular in combination with _cleanup_) we usually make destructors deal with NULL objects as NOPs. Change the calendar spec destructor to follow the same scheme. --- diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 6b6f9908b..e193a67dc 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -1366,8 +1366,7 @@ int config_parse_timer(const char *unit, v = new0(TimerValue, 1); if (!v) { - if (c) - calendar_spec_free(c); + calendar_spec_free(c); return log_oom(); } diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c index 69b742723..4ac74ab0a 100644 --- a/src/shared/calendarspec.c +++ b/src/shared/calendarspec.c @@ -35,7 +35,9 @@ static void free_chain(CalendarComponent *c) { } void calendar_spec_free(CalendarSpec *c) { - assert(c); + + if (!c) + return; free_chain(c->year); free_chain(c->month);