[ Charset UTF-8 unsupported, converting... ]
> Author: ae
> Date: Wed May 17 10:56:22 2017
> New Revision: 318400
> URL: https://svnweb.freebsd.org/changeset/base/318400
> 
> Log:
>   Allow zero port specification in table entries with type flow.
>   
>   PR:         217620
>   MFC after:  1 week
> 
> Modified:
>   head/sbin/ipfw/tables.c
> 
> Modified: head/sbin/ipfw/tables.c
> ==============================================================================
> --- head/sbin/ipfw/tables.c   Wed May 17 09:04:09 2017        (r318399)
> +++ head/sbin/ipfw/tables.c   Wed May 17 10:56:22 2017        (r318400)
> @@ -1260,16 +1260,14 @@ tentry_fill_key_type(char *arg, ipfw_obj
>                       if ((p = strchr(arg, ',')) != NULL)
>                               *p++ = '\0';
>  
> -                     if ((port = htons(strtol(arg, NULL, 10))) == 0) {
> +                     port = htons(strtol(arg, &pp, 10));
                                                      ^^^
Can this be converted to a sizeof(foo) somehow?
Constants like this are typically bad style and lead to bugs.

> +                     if (*pp != '\0') {
>                               if ((sent = getservbyname(arg, NULL)) == NULL)
>                                       errx(EX_DATAERR, "Unknown service: %s",
>                                           arg);
> -                             else
> -                                     key = sent->s_port;
> +                             port = sent->s_port;
>                       }
> -                     
>                       tfe->sport = port;
> -
>                       arg = p;
>               }
>  
> @@ -1304,16 +1302,14 @@ tentry_fill_key_type(char *arg, ipfw_obj
>                       if ((p = strchr(arg, ',')) != NULL)
>                               *p++ = '\0';
>  
> -                     if ((port = htons(strtol(arg, NULL, 10))) == 0) {
> +                     port = htons(strtol(arg, &pp, 10));
> +                     if (*pp != '\0') {
>                               if ((sent = getservbyname(arg, NULL)) == NULL)
>                                       errx(EX_DATAERR, "Unknown service: %s",
>                                           arg);
> -                             else
> -                                     key = sent->s_port;
> +                             port = sent->s_port;
>                       }
> -                     
>                       tfe->dport = port;
> -
>                       arg = p;
>               }
>  
> 
> 

-- 
Rod Grimes                                                 [email protected]
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to