whois.c: fix buffer overflows in convert_6to4 and convert_teredo

This commit is contained in:
Tim Rühsen 2026-05-31 13:57:10 +02:00
parent 1024386831
commit 6aec9d62ef
No known key found for this signature in database
GPG Key ID: 08302DB6A2670428

View File

@ -1419,6 +1419,9 @@ char *convert_6to4(const char *s)
b = 0;
}
if (a > 0xFFFF || b > 0xFFFF)
return strdup("0.0.0.0");
new = malloc(sizeof("255.255.255.255"));
sprintf(new, "%u.%u.%u.%u", a >> 8, a & 0xff, b >> 8, b & 0xff);
@ -1435,6 +1438,10 @@ char *convert_teredo(const char *s)
a ^= 0xffff;
b ^= 0xffff;
if (a > 0xFFFF || b > 0xFFFF)
return strdup("0.0.0.0");
new = malloc(sizeof("255.255.255.255"));
sprintf(new, "%u.%u.%u.%u", a >> 8, a & 0xff, b >> 8, b & 0xff);