logind-session-dbus: use _cleanup_

This commit is contained in:
David Tardon 2023-04-21 15:53:02 +02:00
parent 80e52052db
commit 360179ea46
2 changed files with 7 additions and 7 deletions

View file

@ -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) {

View file

@ -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);