diff options
author | marha <marha@users.sourceforge.net> | 2011-09-30 08:40:25 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-09-30 08:40:25 +0200 |
commit | 60adbfdea1ee754341d64454274e7aa83bae8971 (patch) | |
tree | 1b56329c88f1a881b0e7297bb4283cfbb7e39c97 /openssl/crypto/bn/bn.h | |
parent | af72dcd109d7610b96863035541250997c7a172e (diff) | |
download | vcxsrv-60adbfdea1ee754341d64454274e7aa83bae8971.tar.gz vcxsrv-60adbfdea1ee754341d64454274e7aa83bae8971.tar.bz2 vcxsrv-60adbfdea1ee754341d64454274e7aa83bae8971.zip |
Upgraded to openssl-1.0.0e
Diffstat (limited to 'openssl/crypto/bn/bn.h')
-rw-r--r-- | openssl/crypto/bn/bn.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/openssl/crypto/bn/bn.h b/openssl/crypto/bn/bn.h index e484b7fc1..a0bc47837 100644 --- a/openssl/crypto/bn/bn.h +++ b/openssl/crypto/bn/bn.h @@ -253,6 +253,24 @@ extern "C" { #define BN_HEX_FMT2 "%08X" #endif +/* 2011-02-22 SMS. + * In various places, a size_t variable or a type cast to size_t was + * used to perform integer-only operations on pointers. This failed on + * VMS with 64-bit pointers (CC /POINTER_SIZE = 64) because size_t is + * still only 32 bits. What's needed in these cases is an integer type + * with the same size as a pointer, which size_t is not certain to be. + * The only fix here is VMS-specific. + */ +#if defined(OPENSSL_SYS_VMS) +# if __INITIAL_POINTER_SIZE == 64 +# define PTR_SIZE_INT long long +# else /* __INITIAL_POINTER_SIZE == 64 */ +# define PTR_SIZE_INT int +# endif /* __INITIAL_POINTER_SIZE == 64 [else] */ +#else /* defined(OPENSSL_SYS_VMS) */ +# define PTR_SIZE_INT size_t +#endif /* defined(OPENSSL_SYS_VMS) [else] */ + #define BN_DEFAULT_BITS 1280 #define BN_FLG_MALLOCED 0x01 |