Re-sending to RT...

I recently hit an issue with 0.9.8p due to OPENSSL_VERSION_NUMBER being
of the form

0xnnnnnnnnn

instead of what the code expected:

0xnnnnnnnnnL

This happened to cause a warning and hence a build failure. The code in
question basically did something like this:

#include <stdio.h>
#include <openssl/opensslv.h>

int main() {
        printf("%lx\n", OPENSSL_VERSION_NUMBER);
        return(0);
}


$ gcc -Wall -Werror -c /tmp/test.c
/tmp/test.c: In function `main':
/tmp/test.c:5: warning: long unsigned int format, int arg (arg 2)

Re-appending the 'L' to /usr/include/openssl/opensslv.h solved the
issue. Also the manpage for OPENSSL_VERSION_NUMBER still states that
OPENSSL_VERSION_NUMBER should be of the form:

#define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL

I took a look at CVS and head seems to get it right with:

#define OPENSSL_VERSION_NUMBER 0x10100000L

however the OpenSSL_0_9_8-stable branch has:

#define OPENSSL_VERSION_NUMBER 0x00908120

The following patch fixes this.

diff -ruN openssl/crypto/opensslv.h openssl-new/crypto/opensslv.h
--- openssl/crypto/opensslv.h   2010-12-02 20:42:28.000000000 +0100
+++ openssl-new/crypto/opensslv.h       2010-12-29 11:07:46.822416311
+0100
@@ -25,7 +25,7 @@
  * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
  *  major minor fix final patch/beta)
  */
-#define OPENSSL_VERSION_NUMBER 0x00908120
+#define OPENSSL_VERSION_NUMBER 0x00908120L
 #ifdef OPENSSL_FIPS
 #define OPENSSL_VERSION_TEXT   "OpenSSL 0.9.8r-dev-fips xx XXX xxxx"
 #else

-M


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to