diff options
author | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2004-03-25 22:29:35 +0000 |
---|---|---|
committer | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2004-03-25 22:29:35 +0000 |
commit | b2ba28b696440ba44afe6be55c09536a464dcab6 (patch) | |
tree | ecd8b9770b3478af876091776541455b48e0031c /test | |
parent | e89ec1011c65a91dc8e3f545cd9b352cf46900d7 (diff) | |
download | libapr-b2ba28b696440ba44afe6be55c09536a464dcab6.tar.gz |
* time/unix/time.c (apr_time_exp_get): Remove year check that failed for
2038, use apr_time_t to avoid overflow.
* time/win32/time.c (apr_time_exp_get): ditto
* test/testtime.c (test_2038): Add regression test.
Submitted by: Philip Martin <philip@codematters.co.uk>
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/APR_0_9_BRANCH@65025 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test')
-rw-r--r-- | test/testtime.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/testtime.c b/test/testtime.c index ab14cdfe3..a84da164c 100644 --- a/test/testtime.c +++ b/test/testtime.c @@ -265,6 +265,24 @@ static void test_strftimeoffset(CuTest *tc) CuAssertTrue(tc, rv == APR_SUCCESS); } +/* 0.9.4 and earlier rejected valid dates in 2038 */ +static void test_2038(CuTest *tc) +{ + apr_time_exp_t xt; + apr_time_t t; + + /* 2038-01-19T03:14:07.000000Z */ + xt.tm_year = 138; + xt.tm_mon = 0; + xt.tm_mday = 19; + xt.tm_hour = 3; + xt.tm_min = 14; + xt.tm_sec = 7; + + apr_assert_success(tc, "explode January 19th, 2038", + apr_time_exp_get(&t, &xt)); +} + CuSuite *testtime(void) { CuSuite *suite = CuSuiteNew("Time"); @@ -281,6 +299,7 @@ CuSuite *testtime(void) SUITE_ADD_TEST(suite, test_strftimesmall); SUITE_ADD_TEST(suite, test_exp_tz); SUITE_ADD_TEST(suite, test_strftimeoffset); + SUITE_ADD_TEST(suite, test_2038); return suite; } |