diff options
author | Richard Levitte <levitte@openssl.org> | 2016-09-08 23:39:26 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-09-09 00:11:55 +0200 |
commit | 20d402a38e4d0b0e4b6ffc540ab7c756b39f3904 (patch) | |
tree | 89cf79ad6c0b5b05b47a9dca75c38f4459564222 /crypto | |
parent | 8195a8691108d89fbb0dd11599154067009d10d6 (diff) |
If errno is ENXIO in BSS_new_file(), set BIO_R_NO_SUCH_FILE
VMS sets that errno when the device part of a file spec is malformed
or a logical name that doesn't exist.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit e82e2186e93e9a678dd8c0c5ba084d21d27d4d62)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/bio/bss_file.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c index bfba93e62b..a6e3b3ac01 100644 --- a/crypto/bio/bss_file.c +++ b/crypto/bio/bss_file.c @@ -174,7 +174,11 @@ BIO *BIO_new_file(const char *filename, const char *mode) if (file == NULL) { SYSerr(SYS_F_FOPEN, get_last_sys_error()); ERR_add_error_data(5, "fopen('", filename, "','", mode, "')"); - if (errno == ENOENT) + if (errno == ENOENT +# ifdef ENXIO + || errno == ENXIO +# endif + ) BIOerr(BIO_F_BIO_NEW_FILE, BIO_R_NO_SUCH_FILE); else BIOerr(BIO_F_BIO_NEW_FILE, ERR_R_SYS_LIB); |