[ub] ub due to left operand of shift

John Regehr regehr at cs.utah.edu
Fri Oct 25 00:53:24 CEST 2013


>> c_enc.c:107:6: runtime error: shift exponent 32 is too large for 32-bit
>> type 'unsigned int'
> ...
>> c_enc.c:88:6: runtime error: shift exponent 32 is too large for 32-bit
>> type 'unsigned int'
>
> These are a genuine portability problem, but not related to signedness.

Yes, very nasty, this code may well be broken by compilers right now.  I 
should report these.

>> eng_table.c:349:2: runtime error: member access within null pointer of
>> type 'ENGINE_TABLE' (aka 'struct st_engine_table')
>> s3_srvr.c:1886:13: runtime error: index 4 out of bounds for type
>> 'BIGNUM *[4]'

Scary to see this in today's OpenSSL.  I thought it was supposed to be good.

John



More information about the ub mailing list