]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Don't dispatch 0 bytes.
authorRoy Marples <roy@marples.name>
Tue, 6 Sep 2016 14:58:33 +0000 (14:58 +0000)
committerRoy Marples <roy@marples.name>
Tue, 6 Sep 2016 14:58:33 +0000 (14:58 +0000)
if-bsd.c
if-sun.c

index f2cee0e7e892d66514cac7ab6d736e4fa48898e7..c8ed3029dbc9391ce290143d6d43def5c0d9fd81 100644 (file)
--- a/if-bsd.c
+++ b/if-bsd.c
@@ -1530,15 +1530,16 @@ int
 if_handlelink(struct dhcpcd_ctx *ctx)
 {
        struct msghdr msg;
-       ssize_t bytes;
+       ssize_t len;
 
        memset(&msg, 0, sizeof(msg));
        msg.msg_iov = ctx->iov;
        msg.msg_iovlen = 1;
 
-       if ((bytes = recvmsg_realloc(ctx->link_fd, &msg, 0)) == -1)
+       if ((len = recvmsg_realloc(ctx->link_fd, &msg, 0)) == -1)
                return -1;
-       if_dispatch(ctx, ctx->iov[0].iov_base);
+       if (len != 0)
+               if_dispatch(ctx, ctx->iov[0].iov_base);
        return 0;
 }
 
index 50897b28b792ea745575ae4f91cee809fc3aeb96..6d8e2b69f3e156713a22d730aa0bc938afd9e15b 100644 (file)
--- a/if-sun.c
+++ b/if-sun.c
@@ -770,15 +770,16 @@ int
 if_handlelink(struct dhcpcd_ctx *ctx)
 {
        struct msghdr msg;
-       ssize_t bytes;
+       ssize_t len;
 
        memset(&msg, 0, sizeof(msg));
        msg.msg_iov = ctx->iov;
        msg.msg_iovlen = 1;
 
-       if ((bytes = recvmsg_realloc(ctx->link_fd, &msg, 0)) == -1)
+       if ((len = recvmsg_realloc(ctx->link_fd, &msg, 0)) == -1)
                return -1;
-       if_dispatch(ctx, ctx->iov[0].iov_base);
+       if (len != 0)
+               if_dispatch(ctx, ctx->iov[0].iov_base);
        return 0;
 }