From 0b32d1eb64aeb9684b4f0800f9c1fdbe5d6c7b00 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Mon, 11 Oct 2010 17:07:53 +0200 Subject: Fix return value on `getname' errors. This fixes the errno return value for getpeername() calls on not connected sockets: the return value of the `getname' call comes from the Linux code, so it is a negative value, in case of error. * pfinet/misc.c (make_sockaddr_port): Turn negative error values returned by `getname' calls into positive values before returning it. --- pfinet/misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pfinet/misc.c') diff --git a/pfinet/misc.c b/pfinet/misc.c index 56611daf..08b19e9b 100644 --- a/pfinet/misc.c +++ b/pfinet/misc.c @@ -42,7 +42,7 @@ make_sockaddr_port (struct socket *sock, err = (*sock->ops->getname) (sock, &buf.sa, &buflen, peer); if (err) - return err; + return -err; err = ports_create_port (addrport_class, pfinet_bucket, (offsetof (struct sock_addr, address) -- cgit v1.2.3