aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--time/tzfile.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 373b12c..39f74cc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ#18333]
+ * time/tzset.c (__tzfile_read): Check tzspec_len == 0.
+
2015-04-27 Florian Weimer <fweimer@redhat.com>
[BZ#18333]
diff --git a/time/tzfile.c b/time/tzfile.c
index 46d4fc7..57abbb8 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -270,7 +270,8 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
if (__glibc_unlikely (tzspec_len == 0 || tzspec_len - 1 < num_isgmt))
goto lose;
tzspec_len -= num_isgmt + 1;
- if (__glibc_unlikely (SIZE_MAX - total_size < tzspec_len))
+ if (__glibc_unlikely (tzspec_len == 0
+ || SIZE_MAX - total_size < tzspec_len))
goto lose;
}
if (__glibc_unlikely (SIZE_MAX - total_size - tzspec_len < extra))