aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2021-04-21 13:51:03 +0200
committerDr. David von Oheimb <dev@ddvo.net>2021-04-24 18:54:32 +0200
commit1ae33400bf6559fa9ca9aa2232120dbc7ddc19b8 (patch)
tree25404501c597b54265e5ba8c6049f6e8b657411f /apps
parenta70936a8453a307992820f2a9d3e252f6c4f9ad6 (diff)
downloadopenssl-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.c6
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;
}