* limit is known.
*
* Here, we need to explicitly initialize the buffer with zero, as glibc has a bug in
- * __convert_scm_timestamps(), which assumes the buffer is initialized. See #20741. */
+ * __convert_scm_timestamps(), which assumes the buffer is initialized. See #20741.
+ * The issue is fixed on glibc-2.35 (8fba672472ae0055387e9315fc2eddfa6775ca79). */
CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct ucred)) +
CMSG_SPACE_TIMEVAL +
CMSG_SPACE(sizeof(int)) + /* fd */
struct in6_addr *ret_sender,
triple_timestamp *ret_timestamp) {
- /* This needs to be initialized with zero. See #20741. */
+ /* This needs to be initialized with zero. See #20741.
+ * The issue is fixed on glibc-2.35 (8fba672472ae0055387e9315fc2eddfa6775ca79). */
CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(int)) + /* ttl */
CMSG_SPACE_TIMEVAL) control = {};
struct iovec iov = { buffer, size };
sd_dhcp_client *client = ASSERT_PTR(userdata);
_cleanup_free_ DHCPMessage *message = NULL;
ssize_t len, buflen;
- /* This needs to be initialized with zero. See #20741. */
+ /* This needs to be initialized with zero. See #20741.
+ * The issue is fixed on glibc-2.35 (8fba672472ae0055387e9315fc2eddfa6775ca79). */
CMSG_BUFFER_TYPE(CMSG_SPACE_TIMEVAL) control = {};
struct iovec iov;
struct msghdr msg = {
sd_dhcp_client *client = ASSERT_PTR(userdata);
_cleanup_free_ DHCPPacket *packet = NULL;
- /* This needs to be initialized with zero. See #20741. */
+ /* This needs to be initialized with zero. See #20741.
+ * The issue is fixed on glibc-2.35 (8fba672472ae0055387e9315fc2eddfa6775ca79). */
CMSG_BUFFER_TYPE(CMSG_SPACE_TIMEVAL +
CMSG_SPACE(sizeof(struct tpacket_auxdata))) control = {};
struct iovec iov = {};
static int server_receive_message(sd_event_source *s, int fd,
uint32_t revents, void *userdata) {
_cleanup_free_ DHCPMessage *message = NULL;
- /* This needs to be initialized with zero. See #20741. */
+ /* This needs to be initialized with zero. See #20741.
+ * The issue is fixed on glibc-2.35 (8fba672472ae0055387e9315fc2eddfa6775ca79). */
CMSG_BUFFER_TYPE(CMSG_SPACE_TIMEVAL +
CMSG_SPACE(sizeof(struct in_pktinfo))) control = {};
sd_dhcp_server *server = ASSERT_PTR(userdata);
sd_dhcp6_client *client = ASSERT_PTR(userdata);
DHCP6_CLIENT_DONT_DESTROY(client);
- /* This needs to be initialized with zero. See #20741. */
+ /* This needs to be initialized with zero. See #20741.
+ * The issue is fixed on glibc-2.35 (8fba672472ae0055387e9315fc2eddfa6775ca79). */
CMSG_BUFFER_TYPE(CMSG_SPACE_TIMEVAL) control = {};
struct iovec iov;
union sockaddr_union sa = {};
.iov_base = &ntpmsg,
.iov_len = sizeof(ntpmsg),
};
- /* This needs to be initialized with zero. See #20741. */
+ /* This needs to be initialized with zero. See #20741.
+ * The issue is fixed on glibc-2.35 (8fba672472ae0055387e9315fc2eddfa6775ca79). */
CMSG_BUFFER_TYPE(CMSG_SPACE_TIMESPEC) control = {};
union sockaddr_union server_addr;
struct msghdr msghdr = {