diff --git a/tools/perf/util/target.c b/tools/perf/util/target.c index e74c5963dc7a9db7038e4ad3f5f7de1ed490f20f..a53603b27e525864eeb328e934ba696dc3ea7e6e 100644 --- a/tools/perf/util/target.c +++ b/tools/perf/util/target.c @@ -123,11 +123,8 @@ int target__strerror(struct target *target, int errnum, if (errnum >= 0) { const char *err = strerror_r(errnum, buf, buflen); - if (err != buf) { - size_t len = strlen(err); - memcpy(buf, err, min(buflen - 1, len)); - *(buf + min(buflen - 1, len)) = '\0'; - } + if (err != buf) + scnprintf(buf, buflen, "%s", err); return 0; }