X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-rtnl%2Frtnl-message.c;fp=src%2Flibsystemd-rtnl%2Frtnl-message.c;h=06c7622f7c936bf9dd7c9f6077156176d308cc35;hp=b2b7feb3c86bd376bb9911c86be32ad59a4f78bd;hb=a02113d2ea96467dc9f1ec196d5f62a34dd99314;hpb=e63bb33d71a524e84206ef94ade3eba441e186c5 diff --git a/src/libsystemd-rtnl/rtnl-message.c b/src/libsystemd-rtnl/rtnl-message.c index b2b7feb3c..06c7622f7 100644 --- a/src/libsystemd-rtnl/rtnl-message.c +++ b/src/libsystemd-rtnl/rtnl-message.c @@ -615,8 +615,8 @@ int socket_read_message(sd_rtnl *nl, sd_rtnl_message **ret) { else if ((size_t) k < sizeof(struct nlmsghdr) || (size_t) k < m->hdr->nlmsg_len) k = -EIO; /* too small (we do accept too big though) */ - else if (m->hdr->nlmsg_pid != nl->sockaddr.nl.nl_pid) - k = 0; /* not for us */ + else if (m->hdr->nlmsg_pid && m->hdr->nlmsg_pid != nl->sockaddr.nl.nl_pid) + k = 0; /* not broadcast and not for us */ if (k > 0) switch (m->hdr->nlmsg_type) {