-/* SPDX-License-Identifier: LGPL-2.1+ */
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <errno.h>
#include <poll.h>
#include "sd-resolve.h"
#include "alloc-util.h"
-#include "dns-domain.h"
+#include "dns-def.h"
+#include "errno-util.h"
#include "fd-util.h"
#include "io-util.h"
#include "list.h"
-#include "missing.h"
+#include "memory-util.h"
+#include "missing_syscall.h"
+#include "process-util.h"
#include "resolve-private.h"
#include "socket-util.h"
-#include "util.h"
-#include "process-util.h"
#define WORKERS_MIN 1U
#define WORKERS_MAX 16U
._h_errno = _h_errno,
};
+ msan_unpoison(&resp, sizeof(resp));
+
if (ret == 0 && ai) {
void *p = &buffer;
struct addrinfo *k;
._h_errno = _h_errno,
};
+ msan_unpoison(&resp, sizeof(resp));
+
iov[0] = IOVEC_MAKE(&resp, sizeof(NameInfoResponse));
iov[1] = IOVEC_MAKE((void*) host, hl);
iov[2] = IOVEC_MAKE((void*) serv, sl);
.ai_protocol = ai_req->ai_protocol,
};
+ msan_unpoison(&hints, sizeof(hints));
+
node = ai_req->node_len ? (const char*) ai_req + sizeof(AddrInfoRequest) : NULL;
service = ai_req->service_len ? (const char*) ai_req + sizeof(AddrInfoRequest) + ai_req->node_len : NULL;
return -ECONNRESET;
default:
- assert_not_reached("Unknown request");
+ assert_not_reached();
}
return 0;
for (i = 0; i < _FD_MAX; i++)
resolve->fds[i] = -1;
- if (socketpair(PF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + REQUEST_RECV_FD) < 0)
+ if (socketpair(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + REQUEST_RECV_FD) < 0)
return -errno;
- if (socketpair(PF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + RESPONSE_RECV_FD) < 0)
+ if (socketpair(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + RESPONSE_RECV_FD) < 0)
return -errno;
for (i = 0; i < _FD_MAX; i++)
assert_return(usec, -EINVAL);
assert_return(!resolve_pid_changed(resolve), -ECHILD);
- *usec = (uint64_t) -1;
+ *usec = UINT64_MAX;
return 0;
}
break;
default:
- assert_not_reached("Cannot complete unknown query type");
+ assert_not_reached();
}
resolve->current = NULL;
.ai_protocol = hints ? hints->ai_protocol : 0,
};
+ msan_unpoison(&req, sizeof(req));
+
iov[mh.msg_iovlen++] = IOVEC_MAKE(&req, sizeof(AddrInfoRequest));
if (node)
iov[mh.msg_iovlen++] = IOVEC_MAKE((void*) node, req.node_len);
.getserv = !!(get & SD_RESOLVE_GET_SERVICE),
};
+ msan_unpoison(&req, sizeof(req));
+
iov[0] = IOVEC_MAKE(&req, sizeof(NameInfoRequest));
iov[1] = IOVEC_MAKE((void*) sa, salen);