X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fnetlink.c;h=11961b764f866b795a4d4e3fc2fee8865090c99f;hb=3adbda2cd5be48b7c630325f0f92e315d7eb2cfb;hp=c5afde90df5b1b15978993f0e3ca68bf17543293;hpb=fcc9b0efe1accdb0edcb3143a8e15782e69383db;p=catta diff --git a/avahi-core/netlink.c b/avahi-core/netlink.c index c5afde9..11961b7 100644 --- a/avahi-core/netlink.c +++ b/avahi-core/netlink.c @@ -56,10 +56,10 @@ int avahi_netlink_work(AvahiNetlink *nl, int block) { if ((bytes = recv(nl->fd, nl->buffer, nl->buffer_length, block ? 0 : MSG_DONTWAIT)) < 0) { if (errno == EAGAIN || errno == EINTR) - return 1; + return 0; avahi_log_error(__FILE__": recv() failed: %s", strerror(errno)); - return 0; + return -1; } break; @@ -71,7 +71,7 @@ int avahi_netlink_work(AvahiNetlink *nl, int block) { for (; bytes > 0; p = NLMSG_NEXT(p, bytes)) { if (!NLMSG_OK(p, (size_t) bytes)) { avahi_log_warn(__FILE__": packet truncated"); - return 0; + return -1; } nl->callback(nl, p, nl->userdata); @@ -145,9 +145,7 @@ fail: close(fd); if (nl) { - if (nl->buffer) - avahi_free(nl); - + avahi_free(nl->buffer); avahi_free(nl); } @@ -175,7 +173,7 @@ int avahi_netlink_send(AvahiNetlink *nl, struct nlmsghdr *m, unsigned *ret_seq) m->nlmsg_flags |= NLM_F_ACK; if (send(nl->fd, m, m->nlmsg_len, 0) < 0) { - avahi_log_error(__FILE__": send(): %s\n", strerror(errno)); + avahi_log_error(__FILE__": send(): %s", strerror(errno)); return -1; }