Commit e82e2186 authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarRich Salz <rsalz@openssl.org>
parent 047a5da2
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -73,7 +73,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);