提交 b6d3cb54 编写于 作者: R Rich Salz 提交者: Rich Salz

RT1369: don't do "helpful" access check.

Don't do access check on destination directory; it breaks when euid/egid
is different from real uid/gid.
Reviewed-by: NRichard Levitte <levitte@openssl.org>
Signed-off-by: NRich Salz <rsalz@akamai.com>
上级 b8cba008
......@@ -703,24 +703,13 @@ end_of_options:
#ifndef OPENSSL_SYS_VMS
/*
* outdir is a directory spec, but access() for VMS demands a
* filename. In any case, stat(), below, will catch the problem if
* outdir is not a directory spec, and the fopen() or open() will
* catch an error if there is no write access.
*
* Presumably, this problem could also be solved by using the DEC C
* routines to convert the directory syntax to Unixly, and give that
* to access(). However, time's too short to do that just now.
* filename. We could use the DEC C routine to convert the
* directory syntax to Unixly, and give that to app_isdir,
* but for now the fopen will catch the error if it's not a
* directory
*/
if (app_access(outdir, R_OK | W_OK | X_OK) != 0)
{
BIO_printf(bio_err, "I am unable to access the %s directory\n",
outdir);
perror(outdir);
goto end;
}
if (app_isdir(outdir) <= 0) {
BIO_printf(bio_err, "%s need to be a directory\n", outdir);
BIO_printf(bio_err, "%s: %s is not a directory\n", prog, outdir);
perror(outdir);
goto end;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册