diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 1da64199179..bab8dfa4a89 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 00000000000..4bbb0a9b1be --- /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); + } +