Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jan 2003 21:49:04 -0800
From:      Lev Walkin <vlm@netli.com>
To:        Giorgos Keramidas <keramida@ceid.upatras.gr>
Cc:        hackers@freebsd.org
Subject:   Re: Checking sockaddr_in port number for overflow
Message-ID:  <3E2F8250.3080300@netli.com>
References:  <20030123025437.GA40516@gothmog.gr>

next in thread | previous in thread | raw e-mail | index | archive | help
Giorgos Keramidas wrote:
> I have been trying to think of a good way to check for overflow of
> port numbers of PF_INET sockets that are passed by the user. So far,
> this is what I have come up with:
> 
> :
> :         errno == 0;
> :         tmp = strtol(argv[1], &errp, 0);
> :         if (errp == argv[1] || errno == EINVAL || errno == ERANGE)
> :                 errx(1, "invalid number '%s'", argv[1]);
> :         if (tmp > IPPORT_MAX)
> :                 errx(1, "%ld will overflow as a port number (max %d)",
> :                     tmp, IPPORT_MAX);
> 
> Does this look ok to you all?
> Have I missed anything obvious that I should also check?

tmp <= 0.

-- 
Lev Walkin
vlm@netli.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E2F8250.3080300>