From a7b95c5b6aae3547ec740867296ca114e8f844e5 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Sat, 24 Apr 2021 04:25:20 -0400 Subject: [PATCH] [mod_expires,mod_webdav] fix truncated date string (bug on master branch) --- src/mod_expire.c | 6 +++--- src/mod_webdav.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mod_expire.c b/src/mod_expire.c index 3ca2db01..ee6281b0 100644 --- a/src/mod_expire.c +++ b/src/mod_expire.c @@ -317,9 +317,9 @@ REQUEST_FUNC(mod_expire_handler) { /* HTTP/1.0 */ vb = http_header_response_set_ptr(r, HTTP_HEADER_EXPIRES, CONST_STR_LEN("Expires")); - buffer_commit(vb, - http_date_time_to_str(buffer_extend(vb, HTTP_DATE_SZ-1), - HTTP_DATE_SZ, expires)); + if (!http_date_time_to_str(buffer_extend(vb, HTTP_DATE_SZ-1), + HTTP_DATE_SZ, expires)) + buffer_string_set_length(vb, buffer_string_length(vb)+1-HTTP_DATE_SZ); /* HTTP/1.1 */ vb = http_header_response_set_ptr(r, HTTP_HEADER_CACHE_CONTROL, diff --git a/src/mod_webdav.c b/src/mod_webdav.c index cfd5ff61..2e48e333 100644 --- a/src/mod_webdav.c +++ b/src/mod_webdav.c @@ -3235,9 +3235,9 @@ webdav_propfind_live_props (const webdav_propfind_bufs * const restrict pb, case WEBDAV_PROP_GETLASTMODIFIED: buffer_append_string_len(b, CONST_STR_LEN( "")); - buffer_commit(b, - http_date_time_to_str(buffer_extend(b, HTTP_DATE_SZ-1), - HTTP_DATE_SZ, pb->st.st_mtime)); + if (!http_date_time_to_str(buffer_extend(b, HTTP_DATE_SZ-1), + HTTP_DATE_SZ, pb->st.st_mtime)) + buffer_string_set_length(b, buffer_string_length(b)+1-HTTP_DATE_SZ); buffer_append_string_len(b, CONST_STR_LEN( "")); if (pnum != WEBDAV_PROP_ALL) return 0;/* found *//*(else fall through)*/