[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