[openssl-users] NMAKE fatal error, 32-bit time_t

Matt Caswell matt at openssl.org
Wed Sep 12 15:24:03 UTC 2018



On 12/09/18 16:23, Thomas J. Hruska wrote:
> 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.
> 

Is this new to 1.1.1? Or does it also impact 1.1.0?

Matt


More information about the openssl-users mailing list