summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rand/randfile.c
diff options
context:
space:
mode:
authormarkus <>2003-05-11 21:36:58 +0000
committermarkus <>2003-05-11 21:36:58 +0000
commit1c98a87f0daac81245653c227eb2f2508a22a965 (patch)
tree3de6d603296ec563b936da4e6a8a1e33d48f8884 /src/lib/libcrypto/rand/randfile.c
parent31392c89d1135cf2a416f97295f6d21681b3fbc4 (diff)
downloadopenbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.gz
openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.bz2
openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.zip
import 0.9.7b (without idea and rc5)
Diffstat (limited to 'src/lib/libcrypto/rand/randfile.c')
-rw-r--r--src/lib/libcrypto/rand/randfile.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/libcrypto/rand/randfile.c b/src/lib/libcrypto/rand/randfile.c
index 982074c465..41574768ab 100644
--- a/src/lib/libcrypto/rand/randfile.c
+++ b/src/lib/libcrypto/rand/randfile.c
@@ -124,7 +124,7 @@ int RAND_load_file(const char *file, long bytes)
124 } 124 }
125 } 125 }
126 fclose(in); 126 fclose(in);
127 memset(buf,0,BUFSIZE); 127 OPENSSL_cleanse(buf,BUFSIZE);
128err: 128err:
129 return(ret); 129 return(ret);
130 } 130 }
@@ -189,7 +189,7 @@ int RAND_write_file(const char *file)
189#endif /* OPENSSL_SYS_VMS */ 189#endif /* OPENSSL_SYS_VMS */
190 190
191 fclose(out); 191 fclose(out);
192 memset(buf,0,BUFSIZE); 192 OPENSSL_cleanse(buf,BUFSIZE);
193err: 193err:
194 return (rand_err ? -1 : ret); 194 return (rand_err ? -1 : ret);
195 } 195 }
@@ -203,8 +203,9 @@ const char *RAND_file_name(char *buf, size_t size)
203 s=getenv("RANDFILE"); 203 s=getenv("RANDFILE");
204 if (s != NULL) 204 if (s != NULL)
205 { 205 {
206 strncpy(buf,s,size-1); 206 if(strlen(s) >= size)
207 buf[size-1]='\0'; 207 return NULL;
208 strcpy(buf,s);
208 ret=buf; 209 ret=buf;
209 } 210 }
210 else 211 else