Skip to content
Snippets Groups Projects
Commit 4d58f97f authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

parsedate: allow time specified without seconds

The date format in RFC822 allows that the seconds part of HH:MM:SS is
left out, but this function didn't allow it. This change also includes a
modified test case that makes sure that this now works.

Reported by: Matt Ford
Bug: http://curl.haxx.se/bug/view.cgi?id=3076529
parent 33c3bb05
No related branches found
No related tags found
No related merge requests found
......@@ -371,6 +371,12 @@ int Curl_parsedate(const char *date, time_t *output)
/* time stamp! */
date += 8;
}
else if((secnum == -1) &&
(2 == sscanf(date, "%02d:%02d", &hournum, &minnum))) {
/* time stamp without seconds */
date += 5;
secnum = 0;
}
else {
val = (int)strtol(date, &end, 10);
......
......@@ -103,6 +103,7 @@ nothing
74: Thu, 999999999999-Aug-2007 20:49:07 GMT => -1
75: Thu, 12-Aug-2007 20:61:99999999999 GMT => -1
76: IAintNoDateFool => -1
77: Thu Apr 18 22:50 2007 GMT => 1176936600
</stdout>
# This test case previously testes an overflow case ("2094 Nov 6 =>
......
......@@ -97,6 +97,8 @@ static const char *dates[]={
"Thu, 999999999999-Aug-2007 20:49:07 GMT",
"Thu, 12-Aug-2007 20:61:99999999999 GMT",
"IAintNoDateFool",
"Thu Apr 18 22:50 2007 GMT", /* without seconds */
NULL
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment