mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-06 11:27:17 +00:00
Fix bad returned value
In case of error the message will be always truncated. We check the message was truncated with the total size received which means the kernel as more info to give. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
parent
96bcd56ae2
commit
e239ff31a5
@ -155,7 +155,8 @@ again:
|
||||
if (!ret)
|
||||
return 0;
|
||||
|
||||
if (msg.msg_flags & MSG_TRUNC)
|
||||
if (msg.msg_flags & MSG_TRUNC &&
|
||||
ret == answer->nlmsghdr.nlmsg_len)
|
||||
return -EMSGSIZE;
|
||||
|
||||
return ret;
|
||||
@ -182,9 +183,8 @@ extern int netlink_send(struct nl_handler *handler, struct nlmsg *nlmsg)
|
||||
nladdr.nl_groups = 0;
|
||||
|
||||
ret = sendmsg(handler->fd, &msg, 0);
|
||||
if (ret < 0) {
|
||||
if (ret < 0)
|
||||
return -errno;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -209,7 +209,7 @@ extern int netlink_transaction(struct nl_handler *handler,
|
||||
struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(answer);
|
||||
return err->error;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user