From 95eb099fa8a90212ed2aef82bad360f147bc19c2 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 13 Feb 2015 17:15:41 +0100 Subject: [PATCH] bus-proxy: close each connection fd only once After passing the fds over to the sd_bus object, we should forget them, so that we don't close them a second time when the object goes away. --- src/bus-proxyd/bus-proxyd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c index e07761aeb..478dd7874 100644 --- a/src/bus-proxyd/bus-proxyd.c +++ b/src/bus-proxyd/bus-proxyd.c @@ -69,7 +69,7 @@ static ClientContext *client_context_free(ClientContext *c) { if (!c) return NULL; - close(c->fd); + safe_close(c->fd); free(c); return NULL; @@ -101,6 +101,8 @@ static void *run_client(void *userdata) { if (r < 0) goto exit; + c->fd = -1; + /* set comm to "p$PIDu$UID" and suffix with '*' if truncated */ r = snprintf(comm, sizeof(comm), "p" PID_FMT "u" UID_FMT, p->local_creds.pid, p->local_creds.uid); if (r >= (ssize_t)sizeof(comm)) -- 2.30.2