diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-03-09 17:18:16 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-03-10 22:48:42 +0000 |
commit | 2072b65edd19d24abe482def52ca3781b1742600 (patch) | |
tree | 4127816917b79b9762d66c49dbdf89133eac84da /vsock.c | |
parent | 93ebb9981723627388dbe040dda51a1cfa31b044 (diff) | |
download | ucspi-vsock-2072b65edd19d24abe482def52ca3781b1742600.tar ucspi-vsock-2072b65edd19d24abe482def52ca3781b1742600.tar.gz ucspi-vsock-2072b65edd19d24abe482def52ca3781b1742600.tar.bz2 ucspi-vsock-2072b65edd19d24abe482def52ca3781b1742600.tar.lz ucspi-vsock-2072b65edd19d24abe482def52ca3781b1742600.tar.xz ucspi-vsock-2072b65edd19d24abe482def52ca3781b1742600.tar.zst ucspi-vsock-2072b65edd19d24abe482def52ca3781b1742600.zip |
vsock_open: return fd instead of 0 on success
Previously, this returned the return value of connect(2), which is 0 on success. So stdin would be assigned to descriptors 6 and 7 in vsockclient instead of the socket. Oops. Message-Id: <20210309171816.8589-1-hi@alyssa.is> Reviewed-by: Cole Helbling <cole.e.helbling@outlook.com>
Diffstat (limited to 'vsock.c')
-rw-r--r-- | vsock.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vsock.c b/vsock.c index 3bcd8b3..d9ff3b6 100644 --- a/vsock.c +++ b/vsock.c @@ -55,7 +55,10 @@ int vsock_open(uint32_t cid, uint32_t port) if (fd == -1) return -1; - return vsock_connect(fd, cid, port); + if (vsock_connect(fd, cid, port) == -1) + return -1; + + return fd; } int vsock_get_port(int fd, uint32_t *port) |