Hi, Eric

On 06/28/2017 10:23 PM, Eric Blake wrote:
On 06/28/2017 08:18 AM, Daniel P. Berrange wrote:
On Wed, Jun 28, 2017 at 09:08:47PM +0800, Mao Zhongyi wrote:
In net_socket_fd_init(), the 'default' case is odd: it warns,
then continues as if the socket type was SOCK_STREAM. The
comment explains "this could be a eg. a pty", but that makes
no sense. If @fd really was a pty, getsockopt() would fail
with ENOTSOCK. If @fd was a socket, but neither SOCK_DGRAM nor
SOCK_STREAM. It should not be treated as if it was SOCK_STREAM.

Turn this case into an Error. If there is a genuine reason to
support something like SOCK_RAW, it should be explicitly
handled.


     default:
-        /* who knows ... this could be a eg. a pty, do warn and continue as 
stream */
-        fprintf(stderr, "qemu: warning: socket type=%d for fd=%d is not SOCK_DGRAM 
or SOCK_STREAM\n", so_type, fd);
-        return net_socket_fd_init_stream(peer, model, name, fd, is_connected);
+        error_report("qemu: error: socket type=%d for fd=%d is not"
+                " SOCK_DGRAM or SOCK_STREAM", so_type, fd);

Please drop the 'qemu: error: ' prefix on the message

Also, rather than 'is not' I suggest 'must be either'

Indentation is also off; we prefer that the second line starts right
after the ( of the first line, as in:

error_report("part 1"
             "part 2")

OK, I will. :)

Thanks,
Mao






Reply via email to