]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: make unit_free() accept NULL pointers
authorLennart Poettering <lennart@poettering.net>
Mon, 28 Nov 2016 18:41:20 +0000 (19:41 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 30 Nov 2016 23:25:51 +0000 (00:25 +0100)
We generally try to make our destructors robust regarding NULL pointers, much
in the same way as glibc's free(). Do this also for unit_free().

Follow-up for #4748.

src/core/device.c
src/core/mount.c
src/core/swap.c
src/core/unit.c

index 8e2e3c7bedc299235d077855f4a2f50f761335b4..074e93ffe2ea0ea7ab4c9bdfb53831430d21cd6b 100644 (file)
@@ -359,7 +359,7 @@ static int device_setup_unit(Manager *m, struct udev_device *dev, const char *pa
 fail:
         log_unit_warning_errno(u, r, "Failed to set up device unit: %m");
 
-        if (delete && u)
+        if (delete)
                 unit_free(u);
 
         return r;
index 1c2be28d55d81d1bc343aaf307bf29f1f37d20fb..0c4d061c276b9e5e656f3ec9799073942c4da8e3 100644 (file)
@@ -1509,7 +1509,7 @@ static int mount_setup_unit(
 fail:
         log_warning_errno(r, "Failed to set up mount unit: %m");
 
-        if (delete && u)
+        if (delete)
                 unit_free(u);
 
         return r;
index bf404db8c30e9982aae612e717ebd90b62c631c5..e9468e105ca9c11b7aa807cc9318b6e293686b98 100644 (file)
@@ -420,7 +420,7 @@ static int swap_setup_unit(
 fail:
         log_unit_warning_errno(u, r, "Failed to load swap unit: %m");
 
-        if (delete && u)
+        if (delete)
                 unit_free(u);
 
         return r;
index cba6342ecaa2ffe3381f976208d86bfed031d391..e485c01fc1034e247da6f23952876047a68c17ba 100644 (file)
@@ -516,7 +516,8 @@ void unit_free(Unit *u) {
         Iterator i;
         char *t;
 
-        assert(u);
+        if (!u)
+                return;
 
         if (u->transient_file)
                 fclose(u->transient_file);