From: Antonio Quartulli Date: Wed, 31 Oct 2018 16:01:24 +0000 (+0800) Subject: tls-crypt: properly cast time_t to uint64_t X-Git-Tag: v2.5_beta1~383 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ddd925bf23bc1b43fda93d2757619a1613cec1ba;p=thirdparty%2Fopenvpn.git tls-crypt: properly cast time_t to uint64_t The exact type of time_t is platform dependent and therefore can't be assumed to be uint64_t all the time. For example, on 32bit platforms, where time_t is defined as long (32bit), the compiler will generate the following warning, due to the arithmetic used in the macro: tls_crypt.c:745:29: warning: shift count >= width of type [-Wshift-count-overflow] Force time_t to be parsed as uint64_t. Reported-by: Arne Schwabe Signed-off-by: Antonio Quartulli Acked-by: Arne Schwabe Message-Id: <20181031160124.26972-1-a@unstable.cc> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg17868.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/tls_crypt.c b/src/openvpn/tls_crypt.c index d70d0a660..c3ed2b93b 100644 --- a/src/openvpn/tls_crypt.c +++ b/src/openvpn/tls_crypt.c @@ -742,7 +742,7 @@ tls_crypt_v2_write_client_key_file(const char *filename, } else { - int64_t timestamp = htonll(now); + int64_t timestamp = htonll((uint64_t)now); ASSERT(buf_write(&metadata, &TLS_CRYPT_METADATA_TYPE_TIMESTAMP, 1)); ASSERT(buf_write(&metadata, ×tamp, sizeof(timestamp))); }