00db10
commit 5cffc05ed5c7fea312f2822d388afc025d03c08a
00db10
Author: H.J. Lu <hjl.tools@gmail.com>
00db10
Date:   Mon Apr 27 09:57:51 2015 -0700
00db10
00db10
    Check tzspec_len == 0 in __tzfile_read
00db10
    
00db10
    	[BZ#18333]
00db10
    	* time/tzset.c (__tzfile_read): Check tzspec_len == 0.
00db10
00db10
--- a/time/tzfile.c
00db10
+++ b/time/tzfile.c
00db10
@@ -283,7 +283,8 @@
00db10
       if (__builtin_expect (tzspec_len == 0 || tzspec_len - 1 < num_isgmt, 0))
00db10
 	goto lose;
00db10
       tzspec_len -= num_isgmt + 1;
00db10
-      if (__builtin_expect (SIZE_MAX - total_size < tzspec_len, 0))
00db10
+      if (__builtin_expect (tzspec_len == 0
00db10
+                            || SIZE_MAX - total_size < tzspec_len, 0))
00db10
 	goto lose;
00db10
     }
00db10
   if (__builtin_expect (SIZE_MAX - total_size - tzspec_len < extra, 0))