svn commit: r318400 - head/sbin/ipfw
Rodney W. Grimes
freebsd at pdx.rh.CN85.dnsmgr.net
Thu May 18 00:49:44 UTC 2017
[ 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 rgrimes at freebsd.org
More information about the svn-src-head
mailing list