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 | } |
