summaryrefslogtreecommitdiff
path: root/addrmatch.c
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 /addrmatch.c
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.
Diffstat (limited to 'addrmatch.c')
-rw-r--r--addrmatch.c6
1 files changed, 3 insertions, 3 deletions
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));