From: ven <2988994+hexiaowen@users.noreply.github.com> Date: Wed, 22 May 2019 06:24:28 +0000 (+0800) Subject: bus_open leak sd_event_source when udevadm trigger。 X-Git-Tag: v243-rc1~396 X-Git-Url: http://git-history.diyao.me/?a=commitdiff_plain;h=b2774a3ae692113e1f47a336a6c09bac9cfb49ad;p=systemd%2F.git bus_open leak sd_event_source when udevadm trigger。 On my host, when executing the udevadm trigger, I only receive the change event, which causes memleak --- diff --git a/src/login/logind-button.c b/src/login/logind-button.c index daffbf0668..1624a31cc3 100644 --- a/src/login/logind-button.c +++ b/src/login/logind-button.c @@ -341,7 +341,8 @@ int button_open(Button *b) { } (void) button_set_mask(b); - + + b->io_event_source = sd_event_source_unref(b->io_event_source); r = sd_event_add_io(b->manager->event, &b->io_event_source, b->fd, EPOLLIN, button_dispatch, b); if (r < 0) { log_error_errno(r, "Failed to add button event: %m");