
24 Jul
2017
24 Jul
'17
4:43 a.m.
On Fri, Jul 21, 2017 at 07:58:52 -0400, John Ferlan wrote:
[...]
Before it's too late...
+ +/** + * virStringParsePort: + * @str: port number to parse + * @port: pointer to parse port into + * + * Parses a string representation of a network port and validates it. Returns + * 0 on success and -1 on error. + */ +int +virStringParsePort(const char *str, + int *port) +{ + unsigned int p = 0; + + *port = 0; + + if (!str) + return 0; + + if (virStrToLong_uip(str, NULL, 10, &p) < 0) { + virReportError(VIR_ERR_INVALID_ARG, + _("failed to parse port number '%s'"), str); + return -1; + } + + if (p > 65535) {
Should this be UINT16_MAX ?
Yup. RFC 791 describes it as 16 bits.