summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorclaudio <claudio>2024-01-16 13:09:11 +0000
committerclaudio <claudio>2024-01-16 13:09:11 +0000
commit2e39d698d2e6597f0c2c92bbbfd7213dca029b20 (patch)
tree0664766d8d359e7e11db7ee29677051d3be6b8cb
parent40a20bc8ae800e9249037867c863111fcbfa2733 (diff)
Use imsg_get_fd() instead of direct access to imsg.fd
The change in proc.c can be further simplified once imsg_free() takes care of unclaimed file descriptors. OK nicm@
-rw-r--r--proc.c5
-rw-r--r--server-client.c8
2 files changed, 7 insertions, 6 deletions
diff --git a/proc.c b/proc.c
index 330d73f3..0a146b0e 100644
--- a/proc.c
+++ b/proc.c
@@ -92,8 +92,9 @@ proc_event_cb(__unused int fd, short events, void *arg)
log_debug("peer %p message %d", peer, imsg.hdr.type);
if (peer_check_version(peer, &imsg) != 0) {
- if (imsg.fd != -1)
- close(imsg.fd);
+ int fd = imsg_get_fd(&imsg);
+ if (fd != -1)
+ close(fd);
imsg_free(&imsg);
break;
}
diff --git a/server-client.c b/server-client.c
index fa8bddfa..5680594a 100644
--- a/server-client.c
+++ b/server-client.c
@@ -3002,14 +3002,14 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg)
case MSG_IDENTIFY_STDIN:
if (datalen != 0)
fatalx("bad MSG_IDENTIFY_STDIN size");
- c->fd = imsg->fd;
- log_debug("client %p IDENTIFY_STDIN %d", c, imsg->fd);
+ c->fd = imsg_get_fd(imsg);
+ log_debug("client %p IDENTIFY_STDIN %d", c, c->fd);
break;
case MSG_IDENTIFY_STDOUT:
if (datalen != 0)
fatalx("bad MSG_IDENTIFY_STDOUT size");
- c->out_fd = imsg->fd;
- log_debug("client %p IDENTIFY_STDOUT %d", c, imsg->fd);
+ c->out_fd = imsg_get_fd(imsg);
+ log_debug("client %p IDENTIFY_STDOUT %d", c, c->out_fd);
break;
case MSG_IDENTIFY_ENVIRON:
if (datalen == 0 || data[datalen - 1] != '\0')