logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

0001-utils-Avoid-unnecessary-VLAs.patch (1742B)


  1. From 5b70e5f6af8d0688b8947c649acc2904cce96d3b Mon Sep 17 00:00:00 2001
  2. From: Michael Forney <mforney@mforney.org>
  3. Date: Tue, 4 Jul 2023 10:44:15 -0700
  4. Subject: [PATCH] utils: Avoid unnecessary VLAs
  5. ---
  6. utils.c | 10 ++++------
  7. 1 file changed, 4 insertions(+), 6 deletions(-)
  8. diff --git a/utils.c b/utils.c
  9. index 51875ae..8ab89bb 100644
  10. --- a/utils.c
  11. +++ b/utils.c
  12. @@ -758,15 +758,14 @@ send_pid_on_socket (int sockfd)
  13. char buf[1] = { 0 };
  14. struct msghdr msg = {};
  15. struct iovec iov = { buf, sizeof (buf) };
  16. - const ssize_t control_len_snd = CMSG_SPACE(sizeof(struct ucred));
  17. - _Alignas(struct cmsghdr) char control_buf_snd[control_len_snd];
  18. + _Alignas(struct cmsghdr) char control_buf_snd[CMSG_SPACE(sizeof(struct ucred))];
  19. struct cmsghdr *cmsg;
  20. struct ucred cred;
  21. msg.msg_iov = &iov;
  22. msg.msg_iovlen = 1;
  23. msg.msg_control = control_buf_snd;
  24. - msg.msg_controllen = control_len_snd;
  25. + msg.msg_controllen = sizeof (control_buf_snd);
  26. cmsg = CMSG_FIRSTHDR(&msg);
  27. cmsg->cmsg_level = SOL_SOCKET;
  28. @@ -800,14 +799,13 @@ read_pid_from_socket (int sockfd)
  29. char recv_buf[1] = { 0 };
  30. struct msghdr msg = {};
  31. struct iovec iov = { recv_buf, sizeof (recv_buf) };
  32. - const ssize_t control_len_rcv = CMSG_SPACE(sizeof(struct ucred));
  33. - _Alignas(struct cmsghdr) char control_buf_rcv[control_len_rcv];
  34. + _Alignas(struct cmsghdr) char control_buf_rcv[CMSG_SPACE(sizeof(struct ucred))];
  35. struct cmsghdr* cmsg;
  36. msg.msg_iov = &iov;
  37. msg.msg_iovlen = 1;
  38. msg.msg_control = control_buf_rcv;
  39. - msg.msg_controllen = control_len_rcv;
  40. + msg.msg_controllen = sizeof (control_buf_rcv);
  41. if (TEMP_FAILURE_RETRY (recvmsg (sockfd, &msg, 0)) < 0)
  42. die_with_error ("Can't read pid from socket");
  43. --
  44. 2.44.0