From: W.C.A. Wijngaards Date: Thu, 15 Aug 2019 12:25:46 +0000 (+0200) Subject: - avoid warning about upcast on 32bit systems for autotrust. X-Git-Tag: release-1.9.3rc1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4700d79024e59e21cde9bc53619d3a3c8a766541;p=thirdparty%2Funbound.git - avoid warning about upcast on 32bit systems for autotrust. --- diff --git a/doc/Changelog b/doc/Changelog index ea33f418c..5a7221e63 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,7 @@ 15 August 2019: Wouter - iana portlist updated. - Fix autotrust temp file uniqueness windows compile. + - avoid warning about upcast on 32bit systems for autotrust. 14 August 2019: George - Fix #59, when compiled with systemd support check that we can properly diff --git a/validator/autotrust.c b/validator/autotrust.c index 315934cdd..fba14ff7c 100644 --- a/validator/autotrust.c +++ b/validator/autotrust.c @@ -1175,6 +1175,7 @@ void autr_write_file(struct module_env* env, struct trust_anchor* tp) { FILE* out; char* fname = tp->autr->file; + long long llvalue; char tempf[2048]; log_assert(tp->autr); if(!env) { @@ -1183,12 +1184,18 @@ void autr_write_file(struct module_env* env, struct trust_anchor* tp) } /* unique name with pid number, thread number, and struct pointer * (the pointer uniquifies for multiple libunbound contexts) */ +#if defined(SIZE_MAX) && defined(UINT32_MAX) && (UINT32_MAX == SIZE_MAX || INT32_MAX == SIZE_MAX) + /* avoid warning about upcast on 32bit systems */ + llvalue = (unsigned long)tp; +#else + llvalue = (unsigned long long)tp; +#endif #ifndef USE_WINSOCK snprintf(tempf, sizeof(tempf), "%s.%d-%d-%llx", fname, (int)getpid(), - env->worker?*(int*)env->worker:0, (long long int)tp); + env->worker?*(int*)env->worker:0, llvalue); #else snprintf(tempf, sizeof(tempf), "%s.%d-%d-%I64x", fname, (int)getpid(), - env->worker?*(int*)env->worker:0, (long long int)tp); + env->worker?*(int*)env->worker:0, llvalue); #endif verbose(VERB_ALGO, "autotrust: write to disk: %s", tempf); out = fopen(tempf, "w");