chiark / gitweb /
calendar: make freeing a calendar spec object deal fine with NULL
authorLennart Poettering <lennart@poettering.net>
Fri, 24 Oct 2014 16:33:29 +0000 (18:33 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 24 Oct 2014 16:33:29 +0000 (18:33 +0200)
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.

src/core/load-fragment.c
src/shared/calendarspec.c

index 6b6f9908b58ddd8294a68fa796ec024eb228d302..e193a67dcd202150904b448761d5f18644f854e9 100644 (file)
@@ -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();
         }
 
index 69b742723295c5df91c03464fd70593d6bd97612..4ac74ab0a2066028bc0079bc6b7f322fc4256f1e 100644 (file)
@@ -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);