mirror of
https://github.com/openbsd/src.git
synced 2026-06-18 15:23:33 +02:00
check address size; from markus via millert
This commit is contained in:
+7
-3
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: ikev2.c,v 1.397 2026/04/01 19:04:22 tobhe Exp $ */
|
||||
/* $OpenBSD: ikev2.c,v 1.398 2026/05/05 09:23:06 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
|
||||
@@ -7025,7 +7025,9 @@ ikev2_print_id(struct iked_id *id, char *idstr, size_t idstrlen)
|
||||
case IKEV2_ID_IPV4:
|
||||
s4.sin_family = AF_INET;
|
||||
s4.sin_len = sizeof(s4);
|
||||
memcpy(&s4.sin_addr.s_addr, ptr, len);
|
||||
if (len != (ssize_t)sizeof(s4.sin_addr.s_addr))
|
||||
return (-1);
|
||||
memcpy(&s4.sin_addr.s_addr, ptr, sizeof(s4.sin_addr.s_addr));
|
||||
|
||||
if (strlcat(idstr, print_addr(&s4), idstrlen) >= idstrlen)
|
||||
return (-1);
|
||||
@@ -7044,7 +7046,9 @@ ikev2_print_id(struct iked_id *id, char *idstr, size_t idstrlen)
|
||||
case IKEV2_ID_IPV6:
|
||||
s6.sin6_family = AF_INET6;
|
||||
s6.sin6_len = sizeof(s6);
|
||||
memcpy(&s6.sin6_addr, ptr, len);
|
||||
if (len != (ssize_t)sizeof(s6.sin6_addr))
|
||||
return (-1);
|
||||
memcpy(&s6.sin6_addr, ptr, sizeof(s6.sin6_addr));
|
||||
|
||||
if (strlcat(idstr, print_addr(&s6), idstrlen) >= idstrlen)
|
||||
return (-1);
|
||||
|
||||
Reference in New Issue
Block a user