On Wed, Jan 11, 2017 at 07:39:55PM +0400, Ryabin Sergey wrote:
> Sometimes errno != 0 before calling strtol(3)
> 
> 
> diff --git a/src/server.c b/src/server.c
> index 2f539c99..28340ddb 100644
> --- a/src/server.c
> +++ b/src/server.c
> @@ -2815,6 +2815,7 @@ const char *update_server_addr_port(struct
> server *s, const char *addr, const ch
>                 /* check if PORT change is required */
>                 port_change_required = 0;
> 
> +               errno = 0;
>                 sign = *port;
>                 new_port = strtol(port, &endptr, 10);
>                 if ((errno != 0) || (port == endptr)) {

Thank you, I didn't remember about this corner case. I think we should have
a wrapper for strtol which clears errno at the same time.

I've applied your patch and marked it for 1.7.

Willy


Reply via email to