[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.

More information about the openssl-users mailing list