diff options
author | Damien Miller <djm@cvs.openbsd.org> | 2011-11-03 02:34:34 +0000 |
---|---|---|
committer | Damien Miller <djm@cvs.openbsd.org> | 2011-11-03 02:34:34 +0000 |
commit | 83e0d2b6dc9f5d1e1d9da1d5fb2b3e4a1b95ed29 (patch) | |
tree | b4be7ab0261dff4bf6e721d276b191619415c6e4 /lib/libcrypto/bn/bn.h | |
parent | ce9ed2f66babb3442b71c8a7b580758c546d433a (diff) |
openssl-1.0.0e: resolve conflicts
Diffstat (limited to 'lib/libcrypto/bn/bn.h')
-rw-r--r-- | lib/libcrypto/bn/bn.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/libcrypto/bn/bn.h b/lib/libcrypto/bn/bn.h index e484b7fc116..a0bc47837dc 100644 --- a/lib/libcrypto/bn/bn.h +++ b/lib/libcrypto/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 |