From 1ae33400bf6559fa9ca9aa2232120dbc7ddc19b8 Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" Date: Wed, 21 Apr 2021 13:51:03 +0200 Subject: [PATCH] APPS: Prevent ASAN hickup on idempotent strncpy() in opt_progname() Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/14970) --- apps/lib/opt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; } -- 2.47.2