Diff between d427a2a5f1977f1620dc9128863ad0d64d056ccb and 00ffc553a194c2ca1db52dacd42838a135b4ef65

Changed Files

File Additions Deletions Status
btio/btio.c +6 -2 modified

Full Patch

diff --git a/btio/btio.c b/btio/btio.c
index 30804ca..43275cb 100644
--- a/btio/btio.c
+++ b/btio/btio.c
@@ -1665,12 +1665,16 @@ static bool get_bc_sid(int sock, uint8_t *sid, GError **err)
 
 	olen = sizeof(addr);
 	memset(&addr, 0, olen);
-	if (getpeername(sock, (void *)&addr, &olen) < 0 ||
-				olen != sizeof(addr)) {
+	if (getpeername(sock, (void *)&addr, &olen) < 0) {
 		ERROR_FAILED(err, "getpeername", errno);
 		return false;
 	}
 
+	if (olen != sizeof(addr)) {
+		ERROR_FAILED(err, "getpeername: size mismatch", EINVAL);
+		return false;
+	}
+
 	*sid = addr.iso.iso_bc->bc_sid;
 
 	return true;