[PATCH v3 2/4] [BZ #16141] strptime: fix %z minutes calculation

Mike Frysinger vapier@gentoo.org
Fri Mar 6 09:51:00 GMT 2015


On 03 Dec 2014 14:45, James Perkins wrote:
> --- a/time/strptime_l.c
> +++ b/time/strptime_l.c
>
>  	    else if (n != 4)
>  	      /* Only two or four digits recognized.  */
>  	      return NULL;
> -	    else
> -	      {
> -		/* We have to convert the minutes into decimal.  */
> -		if (val % 100 >= 60)
> -		  return NULL;
> -		val = (val / 100) * 100 + ((val % 100) * 50) / 30;
> -	      }
> +	    else if (val % 100 >= 60)
> +	      /* Minutes valid range is 0 through 59.  */
> +	      return NULL;
>  	    if (val > 1200)
>  	      return NULL;
> -	    tm->tm_gmtoff = (val * 3600) / 100;
> +	    tm->tm_gmtoff = (val / 100) * 3600 + (val % 100) * 60;

looks like you're adding a bug here with the 1200 check.  you fix it later in 
the patch series, but this follows the general policy of "don't add bugs in the 
middle of a series".  all in all, i think you should squash these 4 patches into 
one.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20150306/e74cb694/attachment.sig>


More information about the Libc-alpha mailing list