@@ -280,6 +280,28 @@ START_TEST(test_parse_format_ipv4_mapped_ipv6)
280
280
}
281
281
END_TEST
282
282
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
+
283
305
TCase *
284
306
test_common_create_tests (void )
285
307
{
@@ -295,6 +317,7 @@ test_common_create_tests(void)
295
317
tcase_add_test (tc , test_query_datalen_wild );
296
318
tcase_add_test (tc , test_parse_format_ipv4 );
297
319
tcase_add_test (tc , test_parse_format_ipv4_listen_all );
320
+ tcase_add_test (tc , test_get_addr_err );
298
321
299
322
/* Tests require IPv6 support */
300
323
sock = socket (AF_INET6 , SOCK_DGRAM , IPPROTO_UDP );
0 commit comments