summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_keystate.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-06-05 23:38:28 +0200
committerChristian Grothoff <christian@grothoff.org>2019-06-05 23:51:26 +0200
commit69a07468de8555d5260afab4019e34f40e5ec6be (patch)
tree57aa9a3093c8aa10c789391f4c6a010304aecbfd /src/exchange/taler-exchange-httpd_keystate.c
parent2f0015b80385364ffbacca71504a96a46db6f0e0 (diff)
downloadexchange-69a07468de8555d5260afab4019e34f40e5ec6be.tar.gz
exchange-69a07468de8555d5260afab4019e34f40e5ec6be.tar.bz2
exchange-69a07468de8555d5260afab4019e34f40e5ec6be.zip
working on fix for #5747
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keystate.c')
-rw-r--r--src/exchange/taler-exchange-httpd_keystate.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/exchange/taler-exchange-httpd_keystate.c b/src/exchange/taler-exchange-httpd_keystate.c
index 8b56813e3..7d6bb08a3 100644
--- a/src/exchange/taler-exchange-httpd_keystate.c
+++ b/src/exchange/taler-exchange-httpd_keystate.c
@@ -1166,8 +1166,16 @@ setup_general_response_headers (const struct TEH_KS_StateHandle *key_state,
dat));
if (0 != key_state->next_reload.abs_value_us)
{
- get_date_string (key_state->next_reload,
+ struct GNUNET_TIME_Absolute m;
+
+ m = GNUNET_TIME_relative_to_absolute (max_keys_caching);
+ m = GNUNET_TIME_absolute_min (m,
+ key_state->next_reload);
+ get_date_string (m,
dat);
+ // FIXME: setting 'm' to FOREVER here exposes
+ // a crash-bug in lib/ where we access /keys
+ // data after it was already free'd!
GNUNET_break (MHD_YES ==
MHD_add_response_header (response,
MHD_HTTP_HEADER_EXPIRES,