diff options
author | deraadt <> | 2019-06-28 13:35:02 +0000 |
---|---|---|
committer | deraadt <> | 2019-06-28 13:35:02 +0000 |
commit | 6585927e66d9ab172754d95c4296dd4309a40512 (patch) | |
tree | bc969c069c7b769f2601db17f08bec99274202a5 /src/usr.bin/nc/netcat.c | |
parent | 74ff76124ba7a371400a9f60d5e33192a3732f03 (diff) | |
download | openbsd-6585927e66d9ab172754d95c4296dd4309a40512.tar.gz openbsd-6585927e66d9ab172754d95c4296dd4309a40512.tar.bz2 openbsd-6585927e66d9ab172754d95c4296dd4309a40512.zip |
When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.
Diffstat (limited to 'src/usr.bin/nc/netcat.c')
-rw-r--r-- | src/usr.bin/nc/netcat.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index 26288560b0..c2e769c4c0 100644 --- a/src/usr.bin/nc/netcat.c +++ b/src/usr.bin/nc/netcat.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: netcat.c,v 1.204 2019/06/27 18:03:37 deraadt Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.205 2019/06/28 13:35:02 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> | 3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> |
4 | * Copyright (c) 2015 Bob Beck. All rights reserved. | 4 | * Copyright (c) 2015 Bob Beck. All rights reserved. |
@@ -568,7 +568,7 @@ main(int argc, char *argv[]) | |||
568 | close(s); | 568 | close(s); |
569 | s = local_listen(host, uport, hints); | 569 | s = local_listen(host, uport, hints); |
570 | } | 570 | } |
571 | if (s < 0) | 571 | if (s == -1) |
572 | err(1, NULL); | 572 | err(1, NULL); |
573 | if (uflag && kflag) { | 573 | if (uflag && kflag) { |
574 | /* | 574 | /* |
@@ -590,11 +590,11 @@ main(int argc, char *argv[]) | |||
590 | len = sizeof(z); | 590 | len = sizeof(z); |
591 | rv = recvfrom(s, buf, sizeof(buf), MSG_PEEK, | 591 | rv = recvfrom(s, buf, sizeof(buf), MSG_PEEK, |
592 | (struct sockaddr *)&z, &len); | 592 | (struct sockaddr *)&z, &len); |
593 | if (rv < 0) | 593 | if (rv == -1) |
594 | err(1, "recvfrom"); | 594 | err(1, "recvfrom"); |
595 | 595 | ||
596 | rv = connect(s, (struct sockaddr *)&z, len); | 596 | rv = connect(s, (struct sockaddr *)&z, len); |
597 | if (rv < 0) | 597 | if (rv == -1) |
598 | err(1, "connect"); | 598 | err(1, "connect"); |
599 | 599 | ||
600 | if (vflag) | 600 | if (vflag) |
@@ -628,7 +628,7 @@ main(int argc, char *argv[]) | |||
628 | tls_free(tls_cctx); | 628 | tls_free(tls_cctx); |
629 | } | 629 | } |
630 | if (family == AF_UNIX && uflag) { | 630 | if (family == AF_UNIX && uflag) { |
631 | if (connect(s, NULL, 0) < 0) | 631 | if (connect(s, NULL, 0) == -1) |
632 | err(1, "connect"); | 632 | err(1, "connect"); |
633 | } | 633 | } |
634 | 634 | ||
@@ -739,7 +739,7 @@ unix_bind(char *path, int flags) | |||
739 | 739 | ||
740 | /* Create unix domain socket. */ | 740 | /* Create unix domain socket. */ |
741 | if ((s = socket(AF_UNIX, flags | (uflag ? SOCK_DGRAM : SOCK_STREAM), | 741 | if ((s = socket(AF_UNIX, flags | (uflag ? SOCK_DGRAM : SOCK_STREAM), |
742 | 0)) < 0) | 742 | 0)) == -1) |
743 | return -1; | 743 | return -1; |
744 | 744 | ||
745 | memset(&s_un, 0, sizeof(struct sockaddr_un)); | 745 | memset(&s_un, 0, sizeof(struct sockaddr_un)); |
@@ -752,7 +752,7 @@ unix_bind(char *path, int flags) | |||
752 | return -1; | 752 | return -1; |
753 | } | 753 | } |
754 | 754 | ||
755 | if (bind(s, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) { | 755 | if (bind(s, (struct sockaddr *)&s_un, sizeof(s_un)) == -1) { |
756 | save_errno = errno; | 756 | save_errno = errno; |
757 | close(s); | 757 | close(s); |
758 | errno = save_errno; | 758 | errno = save_errno; |
@@ -862,10 +862,10 @@ unix_connect(char *path) | |||
862 | int s, save_errno; | 862 | int s, save_errno; |
863 | 863 | ||
864 | if (uflag) { | 864 | if (uflag) { |
865 | if ((s = unix_bind(unix_dg_tmp_socket, SOCK_CLOEXEC)) < 0) | 865 | if ((s = unix_bind(unix_dg_tmp_socket, SOCK_CLOEXEC)) == -1) |
866 | return -1; | 866 | return -1; |
867 | } else { | 867 | } else { |
868 | if ((s = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0)) < 0) | 868 | if ((s = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0)) == -1) |
869 | return -1; | 869 | return -1; |
870 | } | 870 | } |
871 | 871 | ||
@@ -878,7 +878,7 @@ unix_connect(char *path) | |||
878 | errno = ENAMETOOLONG; | 878 | errno = ENAMETOOLONG; |
879 | return -1; | 879 | return -1; |
880 | } | 880 | } |
881 | if (connect(s, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) { | 881 | if (connect(s, (struct sockaddr *)&s_un, sizeof(s_un)) == -1) { |
882 | save_errno = errno; | 882 | save_errno = errno; |
883 | close(s); | 883 | close(s); |
884 | errno = save_errno; | 884 | errno = save_errno; |
@@ -897,9 +897,9 @@ unix_listen(char *path) | |||
897 | { | 897 | { |
898 | int s; | 898 | int s; |
899 | 899 | ||
900 | if ((s = unix_bind(path, 0)) < 0) | 900 | if ((s = unix_bind(path, 0)) == -1) |
901 | return -1; | 901 | return -1; |
902 | if (listen(s, 5) < 0) { | 902 | if (listen(s, 5) == -1) { |
903 | close(s); | 903 | close(s); |
904 | return -1; | 904 | return -1; |
905 | } | 905 | } |
@@ -926,7 +926,7 @@ remote_connect(const char *host, const char *port, struct addrinfo hints) | |||
926 | 926 | ||
927 | for (res = res0; res; res = res->ai_next) { | 927 | for (res = res0; res; res = res->ai_next) { |
928 | if ((s = socket(res->ai_family, res->ai_socktype | | 928 | if ((s = socket(res->ai_family, res->ai_socktype | |
929 | SOCK_NONBLOCK, res->ai_protocol)) < 0) | 929 | SOCK_NONBLOCK, res->ai_protocol)) == -1) |
930 | continue; | 930 | continue; |
931 | 931 | ||
932 | /* Bind to a local port or source address if specified. */ | 932 | /* Bind to a local port or source address if specified. */ |
@@ -944,7 +944,7 @@ remote_connect(const char *host, const char *port, struct addrinfo hints) | |||
944 | errx(1, "getaddrinfo: %s", gai_strerror(error)); | 944 | errx(1, "getaddrinfo: %s", gai_strerror(error)); |
945 | 945 | ||
946 | if (bind(s, (struct sockaddr *)ares->ai_addr, | 946 | if (bind(s, (struct sockaddr *)ares->ai_addr, |
947 | ares->ai_addrlen) < 0) | 947 | ares->ai_addrlen) == -1) |
948 | err(1, "bind failed"); | 948 | err(1, "bind failed"); |
949 | freeaddrinfo(ares); | 949 | freeaddrinfo(ares); |
950 | } | 950 | } |
@@ -1023,7 +1023,7 @@ local_listen(const char *host, const char *port, struct addrinfo hints) | |||
1023 | 1023 | ||
1024 | for (res = res0; res; res = res->ai_next) { | 1024 | for (res = res0; res; res = res->ai_next) { |
1025 | if ((s = socket(res->ai_family, res->ai_socktype, | 1025 | if ((s = socket(res->ai_family, res->ai_socktype, |
1026 | res->ai_protocol)) < 0) | 1026 | res->ai_protocol)) == -1) |
1027 | continue; | 1027 | continue; |
1028 | 1028 | ||
1029 | ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x)); | 1029 | ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x)); |
@@ -1043,7 +1043,7 @@ local_listen(const char *host, const char *port, struct addrinfo hints) | |||
1043 | } | 1043 | } |
1044 | 1044 | ||
1045 | if (!uflag && s != -1) { | 1045 | if (!uflag && s != -1) { |
1046 | if (listen(s, 1) < 0) | 1046 | if (listen(s, 1) == -1) |
1047 | err(1, "listen"); | 1047 | err(1, "listen"); |
1048 | } | 1048 | } |
1049 | if (vflag && s != -1) { | 1049 | if (vflag && s != -1) { |