unixctl: Implement quoting.
[openvswitch] / lib / netdev-linux.c
index 27a123cd4ea9c87642d04f7d7dbb3110898e5205..19a80fbe14e1f4587c7aa615bd167a37b2b1faa2 100644 (file)
@@ -803,11 +803,8 @@ netdev_linux_recv(struct netdev *netdev_, void *data, size_t size)
 
     for (;;) {
         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;
+        if (retval >= 0) {
+            return retval <= size ? retval : -EMSGSIZE;
         } else if (errno != EINTR) {
             if (errno != EAGAIN) {
                 VLOG_WARN_RL(&rl, "error receiving Ethernet packet on %s: %s",