Commit b69cba99 authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

util/net: prevent getpeername usage if not required



Peer arguments are optional on spdk_net_getaddr.

Calling getpeername is troublesome if socket not yet connected
(ENOTCONN).

Change-Id: I229510f97cd65533e2a731dd08985a379f4bbccb
Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/25919


Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
parent 8967958d
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -174,6 +174,7 @@ spdk_net_getaddr(int fd, char *laddr, int llen, uint16_t *lport,
		return 0;
	}

	if (paddr || pport) {
		memset(&sa, 0, sizeof(sa));
		len = sizeof(sa);
		rc = getpeername(fd, (struct sockaddr *)&sa, &len);
@@ -181,6 +182,7 @@ spdk_net_getaddr(int fd, char *laddr, int llen, uint16_t *lport,
			SPDK_ERRLOG("getpeername() failed (errno=%d)\n", errno);
			return -1;
		}
	}

	if (paddr) {
		rc = spdk_net_get_address_string((struct sockaddr *)&sa, paddr, plen);