From 36cad41529f7a3e182e9b702d56c10472acc75d3 Mon Sep 17 00:00:00 2001 From: Davide De Rosa Date: Sat, 27 May 2023 21:34:31 +0200 Subject: [PATCH] Fix IPv4/6 address validation (#308) --- Passepartout/App/Reusable/Validators.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Passepartout/App/Reusable/Validators.swift b/Passepartout/App/Reusable/Validators.swift index c3329cb4..c820349d 100644 --- a/Passepartout/App/Reusable/Validators.swift +++ b/Passepartout/App/Reusable/Validators.swift @@ -61,10 +61,9 @@ struct Validators { var sin = sockaddr_in() var sin6 = sockaddr_in6() - guard string.withCString({ cstring in inet_pton(AF_INET6, cstring, &sin6.sin6_addr) }) == 1 else { - throw ValidationError.ipAddress - } - if string.withCString({ cstring in inet_pton(AF_INET, cstring, &sin.sin_addr) }) == 1 { + guard string.withCString({ cstring in inet_pton(AF_INET6, cstring, &sin6.sin6_addr) }) == 1 || + string.withCString({ cstring in inet_pton(AF_INET, cstring, &sin.sin_addr) }) == 1 else { + throw ValidationError.ipAddress } }