summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2013-11-27 11:13:16 +0100
committerStanislav Malyshev <stas@php.net>2014-07-18 15:39:37 -0700
commita0bb3fd6793fe16dbf4d3b5eb3413093088a6b37 (patch)
treee045fdcb0f8e7d1fde1e10ce5a742886a1060daa
parenteca037a51dd007032c9ef28bd931e02863e6440d (diff)
downloadphp-git-a0bb3fd6793fe16dbf4d3b5eb3413093088a6b37.tar.gz
Fixed bug #66060 (Heap buffer over-read in DateInterval)
Conflicts: ext/date/lib/parse_iso_intervals.c
-rw-r--r--ext/date/lib/parse_iso_intervals.c2
-rw-r--r--ext/date/lib/parse_iso_intervals.re2
2 files changed, 2 insertions, 2 deletions
diff --git a/ext/date/lib/parse_iso_intervals.c b/ext/date/lib/parse_iso_intervals.c
index 94dddaa136..07c5b76384 100644
--- a/ext/date/lib/parse_iso_intervals.c
+++ b/ext/date/lib/parse_iso_intervals.c
@@ -415,7 +415,7 @@ yy6:
break;
}
ptr++;
- } while (*ptr);
+ } while (!s->errors->error_count && *ptr);
s->have_period = 1;
TIMELIB_DEINIT;
return TIMELIB_PERIOD;
diff --git a/ext/date/lib/parse_iso_intervals.re b/ext/date/lib/parse_iso_intervals.re
index 56aa34d8e0..c5e9f677ba 100644
--- a/ext/date/lib/parse_iso_intervals.re
+++ b/ext/date/lib/parse_iso_intervals.re
@@ -383,7 +383,7 @@ isoweek = year4 "-"? "W" weekofyear;
break;
}
ptr++;
- } while (*ptr);
+ } while (!s->errors->error_count && *ptr);
s->have_period = 1;
TIMELIB_DEINIT;
return TIMELIB_PERIOD;