summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-10-31 13:44:31 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-10-31 13:46:51 +0100
commit094c1fd1083494d22d5771494625d2fbfc98d02b (patch)
tree1f0ed23e773837e7fdefcc2cc4116dc8f58afcdf /pkgs/os-specific
parentccd44e84c888fcf6a945a99cd4e5fcae1c7198fc (diff)
downloadnixlib-094c1fd1083494d22d5771494625d2fbfc98d02b.tar
nixlib-094c1fd1083494d22d5771494625d2fbfc98d02b.tar.gz
nixlib-094c1fd1083494d22d5771494625d2fbfc98d02b.tar.bz2
nixlib-094c1fd1083494d22d5771494625d2fbfc98d02b.tar.lz
nixlib-094c1fd1083494d22d5771494625d2fbfc98d02b.tar.xz
nixlib-094c1fd1083494d22d5771494625d2fbfc98d02b.tar.zst
nixlib-094c1fd1083494d22d5771494625d2fbfc98d02b.zip
systemd: Fix a systemd crash when doing "systemctl list-unit-files"
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix1
-rw-r--r--pkgs/os-specific/linux/systemd/listunitfiles-abort.patch20
2 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 1da64199179a..bab8dfa4a89b 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     [ ./reexec.patch
       ./ignore-duplicates.patch
       ./crypt-devices-are-ready.patch
+      ./listunitfiles-abort.patch
     ];
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch b/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch
new file mode 100644
index 000000000000..4bbb0a9b1bea
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch
@@ -0,0 +1,20 @@
+diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
+index ed9784b..6d045cc 100644
+--- a/src/core/dbus-manager.c
++++ b/src/core/dbus-manager.c
+@@ -491,7 +491,6 @@ static DBusMessage *message_from_file_changes(
+         return reply;
+ 
+ oom:
+-        dbus_message_unref(reply);
+         return NULL;
+ }
+ 
+@@ -1432,7 +1431,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
+                 r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h);
+                 if (r < 0) {
+                         unit_file_list_free(h);
+-                        dbus_message_unref(reply);
+                         return bus_send_error_reply(connection, message, NULL, r);
+                 }
+