diff options
author | djm <> | 2011-11-03 02:32:24 +0000 |
---|---|---|
committer | djm <> | 2011-11-03 02:32:24 +0000 |
commit | 027d47f36d5e77b24a925d19c987fc43151baa17 (patch) | |
tree | cf32a9eedf59bc153f2cabc7cf72bacad24c4aff /src/lib/libcrypto/rand | |
parent | 242690ab2a8e991b85b4735c4e0bac0ec7bd3481 (diff) | |
download | openbsd-027d47f36d5e77b24a925d19c987fc43151baa17.tar.gz openbsd-027d47f36d5e77b24a925d19c987fc43151baa17.tar.bz2 openbsd-027d47f36d5e77b24a925d19c987fc43151baa17.zip |
import OpenSSL 1.0.0e
Diffstat (limited to 'src/lib/libcrypto/rand')
-rw-r--r-- | src/lib/libcrypto/rand/md_rand.c | 11 | ||||
-rw-r--r-- | src/lib/libcrypto/rand/rand_vms.c | 16 |
2 files changed, 21 insertions, 6 deletions
diff --git a/src/lib/libcrypto/rand/md_rand.c b/src/lib/libcrypto/rand/md_rand.c index 88088ce73c..b2f04ff13e 100644 --- a/src/lib/libcrypto/rand/md_rand.c +++ b/src/lib/libcrypto/rand/md_rand.c | |||
@@ -476,11 +476,14 @@ static int ssleay_rand_bytes(unsigned char *buf, int num) | |||
476 | MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c)); | 476 | MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c)); |
477 | 477 | ||
478 | #ifndef PURIFY /* purify complains */ | 478 | #ifndef PURIFY /* purify complains */ |
479 | /* DO NOT REMOVE THE FOLLOWING CALL TO MD_Update()! */ | 479 | /* The following line uses the supplied buffer as a small |
480 | * source of entropy: since this buffer is often uninitialised | ||
481 | * it may cause programs such as purify or valgrind to | ||
482 | * complain. So for those builds it is not used: the removal | ||
483 | * of such a small source of entropy has negligible impact on | ||
484 | * security. | ||
485 | */ | ||
480 | MD_Update(&m,buf,j); | 486 | MD_Update(&m,buf,j); |
481 | /* We know that line may cause programs such as | ||
482 | purify and valgrind to complain about use of | ||
483 | uninitialized data. */ | ||
484 | #endif | 487 | #endif |
485 | 488 | ||
486 | k=(st_idx+MD_DIGEST_LENGTH/2)-st_num; | 489 | k=(st_idx+MD_DIGEST_LENGTH/2)-st_num; |
diff --git a/src/lib/libcrypto/rand/rand_vms.c b/src/lib/libcrypto/rand/rand_vms.c index 1267a3acae..0bfd8ff7e4 100644 --- a/src/lib/libcrypto/rand/rand_vms.c +++ b/src/lib/libcrypto/rand/rand_vms.c | |||
@@ -69,6 +69,17 @@ | |||
69 | # pragma message disable DOLLARID | 69 | # pragma message disable DOLLARID |
70 | #endif | 70 | #endif |
71 | 71 | ||
72 | /* Use 32-bit pointers almost everywhere. Define the type to which to | ||
73 | * cast a pointer passed to an external function. | ||
74 | */ | ||
75 | #if __INITIAL_POINTER_SIZE == 64 | ||
76 | # define PTR_T __void_ptr64 | ||
77 | # pragma pointer_size save | ||
78 | # pragma pointer_size 32 | ||
79 | #else /* __INITIAL_POINTER_SIZE == 64 */ | ||
80 | # define PTR_T void * | ||
81 | #endif /* __INITIAL_POINTER_SIZE == 64 [else] */ | ||
82 | |||
72 | static struct items_data_st | 83 | static struct items_data_st |
73 | { | 84 | { |
74 | short length, code; /* length is amount of bytes */ | 85 | short length, code; /* length is amount of bytes */ |
@@ -125,11 +136,12 @@ int RAND_poll(void) | |||
125 | { | 136 | { |
126 | if (status == SS$_NORMAL) | 137 | if (status == SS$_NORMAL) |
127 | { | 138 | { |
128 | RAND_add(data_buffer, total_length, total_length/2); | 139 | RAND_add( (PTR_T)data_buffer, total_length, |
140 | total_length/2); | ||
129 | } | 141 | } |
130 | } | 142 | } |
131 | sys$gettim(iosb); | 143 | sys$gettim(iosb); |
132 | RAND_add((unsigned char *)iosb, sizeof(iosb), sizeof(iosb)/2); | 144 | RAND_add( (PTR_T)iosb, sizeof(iosb), sizeof(iosb)/2); |
133 | return 1; | 145 | return 1; |
134 | } | 146 | } |
135 | 147 | ||