You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
992 B

diff --git a/src/Http.cc b/src/Http.cc
index 5364c94..0018670 100644
--- a/src/Http.cc
+++ b/src/Http.cc
@@ -26,6 +26,7 @@
#include <errno.h>
#include <stdarg.h>
#include <time.h>
+#include <limits.h>
#include <fnmatch.h>
#include <locale.h>
#include <assert.h>
diff --git a/src/Http.cc b/src/Http.cc
index b84a729..faf0cc5 100644
--- a/src/Http.cc
+++ b/src/Http.cc
@@ -786,9 +786,11 @@ void Http::SendRequest(const char *connection,const char *f)
(long long)((limit==FILE_END || limit>entity_size ? entity_size : limit)-1),
(long long)entity_size);
}
- if(entity_date!=NO_DATE)
+ if((entity_date!=NO_DATE) && (entity_date>0L && entity_date<INT_MAX))
{
- Send("Last-Modified: %s\r\n",FormatLastModified(entity_date).get());
+ char d[256];
+ strftime(d, sizeof(d), "%a, %d %b %H:%M:%S %Y GMT", gmtime(&entity_date));
+ Send("Last-Modified: %s\r\n",d);
Send("X-OC-MTime: %ld\r\n",(long)entity_date); // for OwnCloud
}
break;