From 360179ea4621a65e9993782bfe28ac4168a7e254 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Fri, 21 Apr 2023 15:53:02 +0200 Subject: [PATCH] logind-session-dbus: use _cleanup_ --- src/login/logind-session-dbus.c | 12 +++++------- src/login/logind-session-device.h | 2 ++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c index e3bebc9188b..bc7d8fdc1c6 100644 --- a/src/login/logind-session-dbus.c +++ b/src/login/logind-session-dbus.c @@ -424,7 +424,7 @@ static int method_set_display(sd_bus_message *message, void *userdata, sd_bus_er static int method_take_device(sd_bus_message *message, void *userdata, sd_bus_error *error) { Session *s = ASSERT_PTR(userdata); uint32_t major, minor; - SessionDevice *sd; + _cleanup_(session_device_freep) SessionDevice *sd = NULL; dev_t dev; int r; @@ -456,18 +456,16 @@ static int method_take_device(sd_bus_message *message, void *userdata, sd_bus_er r = session_device_save(sd); if (r < 0) - goto error; + return r; r = sd_bus_reply_method_return(message, "hb", sd->fd, !sd->active); if (r < 0) - goto error; + return r; session_save(s); - return 1; + TAKE_PTR(sd); -error: - session_device_free(sd); - return r; + return 1; } static int method_release_device(sd_bus_message *message, void *userdata, sd_bus_error *error) { diff --git a/src/login/logind-session-device.h b/src/login/logind-session-device.h index a606d84f0ef..04654d12524 100644 --- a/src/login/logind-session-device.h +++ b/src/login/logind-session-device.h @@ -29,6 +29,8 @@ struct SessionDevice { int session_device_new(Session *s, dev_t dev, bool open_device, SessionDevice **out); SessionDevice *session_device_free(SessionDevice *sd); +DEFINE_TRIVIAL_CLEANUP_FUNC(SessionDevice*, session_device_free); + void session_device_complete_pause(SessionDevice *sd); void session_device_resume_all(Session *s); -- 2.39.5