summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--time.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index fe298b4bed..55e8d97894 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Jun 11 07:34:25 2010 Tanaka Akira <akr@fsij.org>
+
+ * time.c (find_time_t): test the result of LOCALTIME.
+
Fri Jun 11 00:42:45 2010 Tanaka Akira <akr@fsij.org>
* time.c (rb_localtime_r2): fix localtime overflow check.
diff --git a/time.c b/time.c
index 6c5a4f20d0..2623850efb 100644
--- a/time.c
+++ b/time.c
@@ -2870,7 +2870,7 @@ find_time_t(struct tm *tptr, int utc_p, time_t *tp)
guess2 += 24 * 60 * 60;
if (guess != guess2) {
tm = LOCALTIME(&guess2, result);
- if (tmcmp(tptr, tm) == 0) {
+ if (tm && tmcmp(tptr, tm) == 0) {
if (guess < guess2)
*tp = guess;
else
@@ -2895,7 +2895,7 @@ find_time_t(struct tm *tptr, int utc_p, time_t *tp)
guess2 -= 24 * 60 * 60;
if (guess != guess2) {
tm = LOCALTIME(&guess2, result);
- if (tmcmp(tptr, tm) == 0) {
+ if (tm && tmcmp(tptr, tm) == 0) {
if (guess < guess2)
*tp = guess2;
else