aboutsummaryrefslogtreecommitdiff
path: root/lib/cookie.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-11-28 15:27:58 +0100
committerDaniel Stenberg <daniel@haxx.se>2019-11-29 11:01:24 +0100
commit0044443a020d15c262e9f6c724b29365a8148437 (patch)
treef345ffb8bf4a275caa823b758ccac35bbf6f3526 /lib/cookie.c
parentbc64377ff8386d4f809806b6286f43e5aff19922 (diff)
parsedate: offer a getdate_capped() alternative
... and use internally. This function will return TIME_T_MAX instead of failure if the parsed data is found to be larger than what can be represented. TIME_T_MAX being the largest value curl can represent. Reviewed-by: Daniel Gustafsson Reported-by: JanB on github Fixes #4152 Closes #4651
Diffstat (limited to 'lib/cookie.c')
-rw-r--r--lib/cookie.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/cookie.c b/lib/cookie.c
index 7e68b0785..c9e420ad4 100644
--- a/lib/cookie.c
+++ b/lib/cookie.c
@@ -96,6 +96,7 @@ Example set of cookies:
#include "curl_get_line.h"
#include "curl_memrchr.h"
#include "inet_pton.h"
+#include "parsedate.h"
/* The last 3 #include files should be in this order */
#include "curl_printf.h"
@@ -715,7 +716,7 @@ Curl_cookie_add(struct Curl_easy *data,
else if(co->expirestr) {
/* Note that if the date couldn't get parsed for whatever reason,
the cookie will be treated as a session cookie */
- co->expires = curl_getdate(co->expirestr, NULL);
+ co->expires = Curl_getdate_capped(co->expirestr);
/* Session cookies have expires set to 0 so if we get that back
from the date parser let's add a second to make it a