Revert "Check directory is able to create files for various -out option" This reverts commit 555c94a0db9661428da0a45cb32b9f002324eefd. Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6033)
diff --git a/apps/opt.c b/apps/opt.c index a47451c..a9d163a 100644 --- a/apps/opt.c +++ b/apps/opt.c
@@ -613,17 +613,13 @@ */ int opt_next(void) { - char *p, *estr; + char *p; const OPTIONS *o; int ival; long lval; unsigned long ulval; ossl_intmax_t imval; ossl_uintmax_t umval; -#if !defined(_WIN32) && !defined(__VMS) - char *c; - int oerrno; -#endif /* Look at current arg; at end of the list? */ arg = NULL; @@ -680,13 +676,13 @@ /* Just a string. */ break; case '/': - if (app_isdir(arg) > 0) + if (app_isdir(arg) >= 0) break; BIO_printf(bio_err, "%s: Not a directory: %s\n", prog, arg); return -1; case '<': /* Input file. */ - if (strcmp(arg, "-") == 0 || app_access(arg, R_OK) == 0) + if (strcmp(arg, "-") == 0 || app_access(arg, R_OK) >= 0) break; BIO_printf(bio_err, "%s: Cannot open input file %s, %s\n", @@ -694,38 +690,11 @@ return -1; case '>': /* Output file. */ -#if !defined(_WIN32) && !defined(__VMS) - c = OPENSSL_strdup(arg); - if (c == NULL) { - BIO_printf(bio_err, - "%s: Memory allocation failure\n", prog); - return -1; - } - oerrno = errno; - errno = 0; - if (strcmp(arg, "-") == 0 - || (app_access(app_dirname(c), W_OK) == 0 - && app_isdir(arg) <= 0 - && (app_access(arg, W_OK) == 0 || errno == ENOENT))) { - OPENSSL_free(c); + if (strcmp(arg, "-") == 0 || app_access(arg, W_OK) >= 0 || errno == ENOENT) break; - } - OPENSSL_free(c); - if (errno == 0) - /* only possible if 'arg' is a directory */ - estr = "is a directory"; - else - estr = strerror(errno); - errno = oerrno; -#else - if (strcmp(arg, "-") == 0 || app_access(arg, W_OK) == 0 - || errno == ENOENT) - break; - estr = strerror(errno); -#endif BIO_printf(bio_err, "%s: Cannot open output file %s, %s\n", - prog, arg, estr); + prog, arg, strerror(errno)); return -1; case 'p': case 'n':