diff options
author | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2021-04-21 13:51:03 +0200 |
---|---|---|
committer | Dr. David von Oheimb <dev@ddvo.net> | 2021-04-24 18:54:32 +0200 |
commit | 1ae33400bf6559fa9ca9aa2232120dbc7ddc19b8 (patch) | |
tree | 25404501c597b54265e5ba8c6049f6e8b657411f /apps | |
parent | a70936a8453a307992820f2a9d3e252f6c4f9ad6 (diff) | |
download | openssl-1ae33400bf6559fa9ca9aa2232120dbc7ddc19b8.tar.gz |
APPS: Prevent ASAN hickup on idempotent strncpy() in opt_progname()
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14970)
Diffstat (limited to 'apps')
-rw-r--r-- | apps/lib/opt.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/lib/opt.c b/apps/lib/opt.c index d22a884e67..8073a70141 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; } |