Folks,

I am in the process building OpenSSL (0.9.6b) on the Tru64 Unix
(Compaq/Digital Unix) platform and have a few questions for you
regarding the 64-bit safeness of the product. 

There are two options that I use on the Compaq C compiler when checking
the code for potential problems. The first option is -warnprotos, to
catch any missing or incorrectly specified function prototypes.  I found
a few issues here, mostly void functions that need to have 'void'
specified in the prototype and have made the appropriate changes. If
you're interested, I'd be happy to send the files I modified back to
you.

The second option is the -msg_enable 64bit.  This option catches things
like assigning long ints (64 bits) to ints (32 bits). This is where I
run into the most questions.  There are a lot of places flagged as being
potential problems.  In some instances there are explicit casts to the
smaller data type.  In others, there is no cast.  There are also
instances where the result of a strlen is assigned to an int, rather
than to a size_t, which on Tru64 is a long int.

My questions are: 
1. How safe is it to assume that the explicit casts from longs are
truely never going to be more than 32 bits?
2. How much should I worry about the implicit casts?

note: all tests appear to work correctly. I'm just concerned about what
happens when applications start using it.


Kathy Romberg
Compaq Computer Corporation
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to