diff options
author | Darren Tucker <dtucker@zip.com.au> | 2014-01-19 22:37:02 +1100 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2014-01-19 22:37:02 +1100 |
commit | 7eee358d7a6580479bee5cd7e52810ebfd03e5b2 (patch) | |
tree | f7fa6b7869dec6ff90aba466571b7c9f1b0ef6b5 | |
parent | b7e01c09b56ab26e8fac56bbce0fd25e36d12bb0 (diff) |
- dtucker@cvs.openbsd.org 2014/01/19 11:21:51
[addrmatch.c]
Cast the sizeof to socklen_t so it'll work even if the supplied len is
negative. Suggested by and ok djm, ok deraadt.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | addrmatch.c | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -16,6 +16,10 @@ | |||
16 | - djm@cvs.openbsd.org 2014/01/19 04:48:08 | 16 | - djm@cvs.openbsd.org 2014/01/19 04:48:08 |
17 | [ssh_config.5] | 17 | [ssh_config.5] |
18 | fix inverted meaning of 'no' and 'yes' for CanonicalizeFallbackLocal | 18 | fix inverted meaning of 'no' and 'yes' for CanonicalizeFallbackLocal |
19 | - dtucker@cvs.openbsd.org 2014/01/19 11:21:51 | ||
20 | [addrmatch.c] | ||
21 | Cast the sizeof to socklen_t so it'll work even if the supplied len is | ||
22 | negative. Suggested by and ok djm, ok deraadt. | ||
19 | 23 | ||
20 | 20140118 | 24 | 20140118 |
21 | - (dtucker) [uidswap.c] Prevent unused variable warnings on Cygwin. Patch | 25 | - (dtucker) [uidswap.c] Prevent unused variable warnings on Cygwin. Patch |
diff --git a/addrmatch.c b/addrmatch.c index 649de4139..c44314632 100644 --- a/addrmatch.c +++ b/addrmatch.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: addrmatch.c,v 1.8 2014/01/19 04:17:29 dtucker Exp $ */ | 1 | /* $OpenBSD: addrmatch.c,v 1.9 2014/01/19 11:21:51 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org> | 4 | * Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org> |
@@ -88,13 +88,13 @@ addr_sa_to_xaddr(struct sockaddr *sa, socklen_t slen, struct xaddr *xa) | |||
88 | 88 | ||
89 | switch (sa->sa_family) { | 89 | switch (sa->sa_family) { |
90 | case AF_INET: | 90 | case AF_INET: |
91 | if ((size_t)slen < sizeof(*in4)) | 91 | if (slen < (socklen_t)sizeof(*in4)) |
92 | return -1; | 92 | return -1; |
93 | xa->af = AF_INET; | 93 | xa->af = AF_INET; |
94 | memcpy(&xa->v4, &in4->sin_addr, sizeof(xa->v4)); | 94 | memcpy(&xa->v4, &in4->sin_addr, sizeof(xa->v4)); |
95 | break; | 95 | break; |
96 | case AF_INET6: | 96 | case AF_INET6: |
97 | if ((size_t)slen < sizeof(*in6)) | 97 | if (slen < (socklen_t)sizeof(*in6)) |
98 | return -1; | 98 | return -1; |
99 | xa->af = AF_INET6; | 99 | xa->af = AF_INET6; |
100 | memcpy(&xa->v6, &in6->sin6_addr, sizeof(xa->v6)); | 100 | memcpy(&xa->v6, &in6->sin6_addr, sizeof(xa->v6)); |