@@ -578,10 +578,13 @@ int is_ipv4_range(char* range_str, int prefix_length, int verbose)
578578 {
579579 char left_pref_str [19 ];
580580
581- /* XXX: Prefix length size is checked elsewhere, so it can't be more than 2 characters (32)
581+ /* XXX: Prefix length size is checked elsewhere with a regex , so it can't be more than 2 characters (32)
582582 and overflow cannot occur.
583583 */
584+ #pragma GCC diagnostic push
585+ #pragma GCC diagnostic ignored "-Wformat-overflow="
584586 sprintf (left_pref_str , "%s/%u" , left , prefix_length );
587+ #pragma GCC diagnostic pop
585588 CIDR * left_addr_with_pref = cidr_from_str (left_pref_str );
586589 CIDR * left_net = cidr_addr_network (left_addr_with_pref );
587590 if ( cidr_contains (left_net , right_addr ) == 0 )
@@ -679,10 +682,13 @@ int is_ipv6_range(char* range_str, int prefix_length, int verbose)
679682 {
680683 char left_pref_str [44 ];
681684
682- /* XXX: Prefix length size is checked elsewhere, so it can't be more than 3 characters (128)
685+ /* XXX: Prefix length size is checked elsewhere with a regex , so it can't be more than 3 characters (128)
683686 and overflow cannot occur.
684687 */
688+ #pragma GCC diagnostic push
689+ #pragma GCC diagnostic ignored "-Wformat-overflow="
685690 sprintf (left_pref_str , "%s/%u" , left , prefix_length );
691+ #pragma GCC diagnostic pop
686692 CIDR * left_addr_with_pref = cidr_from_str (left_pref_str );
687693 CIDR * left_net = cidr_addr_network (left_addr_with_pref );
688694 if ( cidr_contains (left_net , right_addr ) == 0 )
0 commit comments