Skip to content

Commit ae43de2

Browse files
committed
tests/common: add test for get_addr errors
1 parent 6299bdb commit ae43de2

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

tests/common.c

+23
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,28 @@ START_TEST(test_parse_format_ipv4_mapped_ipv6)
280280
}
281281
END_TEST
282282

283+
START_TEST(test_get_addr_err)
284+
{
285+
char *host = "192.168.2.10";
286+
struct sockaddr_storage addr;
287+
int addr_len;
288+
int flags = AI_PASSIVE;
289+
290+
/* Invalid host */
291+
addr_len = get_addr(NULL, -1, flags, 0, &addr);
292+
ck_assert(addr_len == -1);
293+
/* Invalid port */
294+
addr_len = get_addr(host, -1, flags, 0, &addr);
295+
ck_assert(addr_len == -1);
296+
/* Invalid flag */
297+
addr_len = get_addr(host, 53, flags | 0xFFF, 0, &addr);
298+
ck_assert(addr_len == -1);
299+
/* Invalid addr */
300+
addr_len = get_addr(host, 53, flags, 0, (struct sockaddr_storage *)NULL);
301+
ck_assert(addr_len == -1);
302+
}
303+
END_TEST
304+
283305
TCase *
284306
test_common_create_tests(void)
285307
{
@@ -295,6 +317,7 @@ test_common_create_tests(void)
295317
tcase_add_test(tc, test_query_datalen_wild);
296318
tcase_add_test(tc, test_parse_format_ipv4);
297319
tcase_add_test(tc, test_parse_format_ipv4_listen_all);
320+
tcase_add_test(tc, test_get_addr_err);
298321

299322
/* Tests require IPv6 support */
300323
sock = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);

0 commit comments

Comments
 (0)