diff options
author | markus <> | 2003-05-11 21:36:58 +0000 |
---|---|---|
committer | markus <> | 2003-05-11 21:36:58 +0000 |
commit | 1c98a87f0daac81245653c227eb2f2508a22a965 (patch) | |
tree | 3de6d603296ec563b936da4e6a8a1e33d48f8884 /src/lib/libcrypto/rand/randfile.c | |
parent | 31392c89d1135cf2a416f97295f6d21681b3fbc4 (diff) | |
download | openbsd-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.c | 9 |
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); |
128 | err: | 128 | err: |
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); |
193 | err: | 193 | err: |
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 |