From: Dr. David von Oheimb Date: Wed, 21 Apr 2021 11:51:03 +0000 (+0200) Subject: APPS: Prevent ASAN hickup on idempotent strncpy() in opt_progname() X-Git-Tag: openssl-3.0.0-alpha16~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ae33400bf6559fa9ca9aa2232120dbc7ddc19b8;p=thirdparty%2Fopenssl.git APPS: Prevent ASAN hickup on idempotent strncpy() in opt_progname() Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/14970) --- diff --git a/apps/lib/opt.c b/apps/lib/opt.c index d22a884e671..8073a701414 100644 --- a/apps/lib/opt.c +++ b/apps/lib/opt.c @@ -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; }