summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2016-03-02 12:51:28 +0100
committerAlexander Larsson <alexl@redhat.com>2016-03-02 12:51:28 +0100
commit8613206fba9e256eb51ff7fda4791c86e559558d (patch)
tree3940318251d753b9bfb06420664ce0b7027b892c
parente0af44cf1b5220b05635b7567ed4150c6dd2f71d (diff)
downloadbubblewrap-8613206fba9e256eb51ff7fda4791c86e559558d.tar.gz
Fix (and standardize) error checks in network setup
Now we always return -1 on error, and 0 on OK. Also, fixes the incorrect check in rtnl_do_request().
-rw-r--r--network.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/network.c b/network.c
index 5fa08bb..51cfe9a 100644
--- a/network.c
+++ b/network.c
@@ -55,7 +55,7 @@ rtnl_send_request (int rtnl_fd,
sent = sendto (rtnl_fd, (void *)header, header->nlmsg_len, 0,
(struct sockaddr *)&dst_addr, sizeof (dst_addr));
if (sent < 0)
- return 1;
+ return -1;
return 0;
}
@@ -72,22 +72,22 @@ rtnl_read_reply (int rtnl_fd,
{
received = recv (rtnl_fd, buffer, sizeof(buffer), 0);
if (received < 0)
- return 1;
+ return -1;
rheader = (struct nlmsghdr *)buffer;
while (received >= NLMSG_HDRLEN)
{
if (rheader->nlmsg_seq != seq_nr)
- return 1;
+ return -1;
if (rheader->nlmsg_pid != getpid ())
- return 1;
+ return -1;
if (rheader->nlmsg_type == NLMSG_ERROR)
{
uint32_t *err = NLMSG_DATA(rheader);
if (*err == 0)
return 0;
- return 1;
+ return -1;
}
if (rheader->nlmsg_type == NLMSG_DONE)
return 0;
@@ -101,11 +101,11 @@ static int
rtnl_do_request (int rtnl_fd,
struct nlmsghdr *header)
{
- if (!rtnl_send_request (rtnl_fd, header))
- return 1;
+ if (rtnl_send_request (rtnl_fd, header) != 0)
+ return -1;
- if (!rtnl_read_reply (rtnl_fd, header->nlmsg_seq))
- return 1;
+ if (rtnl_read_reply (rtnl_fd, header->nlmsg_seq) != 0)
+ return -1;
return 0;
}
@@ -177,7 +177,7 @@ loopback_setup (void)
assert (header->nlmsg_len < sizeof (buffer));
- if (rtnl_do_request (rtnl_fd, header))
+ if (rtnl_do_request (rtnl_fd, header) != 0)
return -1;
header = rtnl_setup_request (buffer, RTM_NEWLINK,
@@ -193,7 +193,7 @@ loopback_setup (void)
assert (header->nlmsg_len < sizeof (buffer));
- if (rtnl_do_request (rtnl_fd, header))
+ if (rtnl_do_request (rtnl_fd, header) != 0)
return -1;
return 0;