- if (unlikely(msg->msg_namelen < sizeof(*swift_addr) || swift_addr->sin_family != AF_INET)) {
- log_error("Invalid size or address family\n");
+ if (unlikely(msg->msg_namelen < sizeof(*swift_addr) ||
+ msg->msg_namelen < swift_addr->count * sizeof(struct swift_dest) ||
+ swift_addr->count <= 0)) {
+ log_error("Invalid size for msg_name\n");