[openssl-users] NMAKE fatal error, 32-bit time_t
Thomas J. Hruska
shinelight at shininglightpro.com
Wed Sep 12 15:23:24 UTC 2018
On 9/12/2018 7:03 AM, Viktor Dukhovni wrote:
>
>
>> On Sep 12, 2018, at 9:53 AM, Thomas J. Hruska <shinelight at shininglightpro.com> wrote:
>>
>> Casting to time_t appears to correct the issue and the build completes successfully:
>>
>> const time_t default_time = (time_t)CT_POLICY_EVAL_CTX_get_time(ct_policy_ctx) /
>> 1000;
>
> Since the CT time value is in "ms" since epoch, you really don't want
> to down-convert that to 32 bit *before* the division. You'll need
> some parentheses:
>
> https://en.cppreference.com/w/c/language/operator_precedence
>
> type cast has higher precedence than division, but you need to
> divide first, then cast.
Whoops. Well, being pointed at the "intro to C" documentation is what I
get for rushing that. It's a bit ironic since I'm notorious for
wrapping everything in extra parenthesis just to avoid memorizing
operator precedence.
Thanks for pointing that out though.
--
Thomas Hruska
Shining Light Productions
Home of BMP2AVI and Win32 OpenSSL.
http://www.slproweb.com/
More information about the openssl-users
mailing list