commit 1ba17307f77c34ca1ed87dfc5233b6014888a817
parent 8adb0d2527090e48add742b8dad32a4ecf837775
Author: Santtu Lakkala <inz@inz.fi>
Date:   Wed,  5 Jul 2023 20:24:05 +0300
Fix potential buffer overflow
Diffstat:
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/udyfi.c b/udyfi.c
@@ -393,11 +393,10 @@ static int check_ip(const char *server,
 		iplen = strspn(ip, "0123456789a-fA-F:");
 		break;
 	}
-	if (iplen > ip_size)
+	if (ip[-1] == '\n' && ip[iplen])
 		return -1;
-	if (ip == buffer && ip[iplen])
+	if (snprintf(ip_buffer, ip_size, "%.*s", (int)iplen, ip) >= (int)ip_size)
 		return -1;
-	sprintf(ip_buffer, "%.*s", (int)iplen, ip);
 
 	return 0;
 }