diff options
Diffstat (limited to 'src/lib/libcrypto/bio/bss_file.c')
-rw-r--r-- | src/lib/libcrypto/bio/bss_file.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/libcrypto/bio/bss_file.c b/src/lib/libcrypto/bio/bss_file.c index 8b3ff278d9..826b361fa2 100644 --- a/src/lib/libcrypto/bio/bss_file.c +++ b/src/lib/libcrypto/bio/bss_file.c | |||
@@ -162,6 +162,12 @@ static int MS_CALLBACK file_read(BIO *b, char *out, int outl) | |||
162 | if (b->init && (out != NULL)) | 162 | if (b->init && (out != NULL)) |
163 | { | 163 | { |
164 | ret=fread(out,1,(int)outl,(FILE *)b->ptr); | 164 | ret=fread(out,1,(int)outl,(FILE *)b->ptr); |
165 | if(ret == 0 && ferror((FILE *)b->ptr)) | ||
166 | { | ||
167 | SYSerr(SYS_F_FREAD,get_last_sys_error()); | ||
168 | BIOerr(BIO_F_FILE_READ,ERR_R_SYS_LIB); | ||
169 | ret=-1; | ||
170 | } | ||
165 | } | 171 | } |
166 | return(ret); | 172 | return(ret); |
167 | } | 173 | } |