1
0
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:
deraadt
2026-05-05 09:23:06 +00:00
parent eac1638a4d
commit 83f5cd0190
+7 -3
View File
@@ -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);