mirror of
https://github.com/openvswitch/ovs
synced 2025-10-27 15:18:06 +00:00
netdev-linux: Report error for truncated packets on receive.
Found by inspection. Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -802,8 +802,11 @@ netdev_linux_recv(struct netdev *netdev_, void *data, size_t size)
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
ssize_t retval = read(netdev->fd, data, size);
|
||||
if (retval >= 0) {
|
||||
ssize_t retval = recv(netdev->fd, data, size, MSG_TRUNC);
|
||||
if (retval > size) {
|
||||
/* Received packet was longer than supplied buffer. */
|
||||
return -EMSGSIZE;
|
||||
} else if (retval >= 0) {
|
||||
return retval;
|
||||
} else if (errno != EINTR) {
|
||||
if (errno != EAGAIN) {
|
||||
|
||||
Reference in New Issue
Block a user