summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rand
diff options
context:
space:
mode:
authordjm <>2011-11-03 02:32:24 +0000
committerdjm <>2011-11-03 02:32:24 +0000
commit027d47f36d5e77b24a925d19c987fc43151baa17 (patch)
treecf32a9eedf59bc153f2cabc7cf72bacad24c4aff /src/lib/libcrypto/rand
parent242690ab2a8e991b85b4735c4e0bac0ec7bd3481 (diff)
downloadopenbsd-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.c11
-rw-r--r--src/lib/libcrypto/rand/rand_vms.c16
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
72static struct items_data_st 83static 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