提交 1ae33400 编写于 作者: D Dr. David von Oheimb 提交者: Dr. David von Oheimb

APPS: Prevent ASAN hickup on idempotent strncpy() in opt_progname()

Reviewed-by: NTomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14970)
上级 a70936a8
......@@ -105,7 +105,8 @@ char *opt_progname(const char *argv0)
/* Find last special character sys:[foo.bar]openssl */
p = opt_path_end(argv0);
q = strrchr(p, '.');
strncpy(prog, p, sizeof(prog) - 1);
if (prog != p)
strncpy(prog, p, sizeof(prog) - 1);
prog[sizeof(prog) - 1] = '\0';
if (q != NULL && q - p < sizeof(prog))
prog[q - p] = '\0';
......@@ -132,7 +133,8 @@ char *opt_progname(const char *argv0)
const char *p;
p = opt_path_end(argv0);
strncpy(prog, p, sizeof(prog) - 1);
if (prog != p)
strncpy(prog, p, sizeof(prog) - 1);
prog[sizeof(prog) - 1] = '\0';
return prog;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册