summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2014-01-19 22:37:02 +1100
committerDarren Tucker <dtucker@zip.com.au>2014-01-19 22:37:02 +1100
commit7eee358d7a6580479bee5cd7e52810ebfd03e5b2 (patch)
treef7fa6b7869dec6ff90aba466571b7c9f1b0ef6b5
parentb7e01c09b56ab26e8fac56bbce0fd25e36d12bb0 (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--ChangeLog4
-rw-r--r--addrmatch.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 99073946..22578ab2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,10 @@
- djm@cvs.openbsd.org 2014/01/19 04:48:08
[ssh_config.5]
fix inverted meaning of 'no' and 'yes' for CanonicalizeFallbackLocal
+ - 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.
20140118
- (dtucker) [uidswap.c] Prevent unused variable warnings on Cygwin. Patch
diff --git a/addrmatch.c b/addrmatch.c
index 649de413..c4431463 100644
--- a/addrmatch.c
+++ b/addrmatch.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: addrmatch.c,v 1.8 2014/01/19 04:17:29 dtucker Exp $ */
+/* $OpenBSD: addrmatch.c,v 1.9 2014/01/19 11:21:51 dtucker Exp $ */
/*
* 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)
switch (sa->sa_family) {
case AF_INET:
- if ((size_t)slen < sizeof(*in4))
+ if (slen < (socklen_t)sizeof(*in4))
return -1;
xa->af = AF_INET;
memcpy(&xa->v4, &in4->sin_addr, sizeof(xa->v4));
break;
case AF_INET6:
- if ((size_t)slen < sizeof(*in6))
+ if (slen < (socklen_t)sizeof(*in6))
return -1;
xa->af = AF_INET6;
memcpy(&xa->v6, &in6->sin6_addr, sizeof(xa->v6));