Messages in this thread | | | Date | Tue, 12 Dec 2023 18:29:46 +0200 | Subject | Re: [PATCH linux-next] perf intel-pt: replace strlcpy() with strscpy() | From | Adrian Hunter <> |
| |
On 12/12/23 05:22, yang.guang5@zte.com.cn wrote: > From: Yang Guang <yang.guang5@zte.com.cn> > > strlcpy() reads the entire source buffer first. This read may exceed > the destination size limit. This is both inefficient and can lead > to linear read overflows if a source string is not NUL-terminated. > No return values were used, so direct replacement is safe. > > Signed-off-by: Chen Haonan <chen.haonan2@zte.com.cn> > --- > tools/perf/util/intel-pt-decoder/intel-pt-decoder.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c > index b450178e3420..5b14c6701ecb 100644 > --- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c > +++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c > @@ -507,7 +507,7 @@ int intel_pt__strerror(int code, char *buf, size_t buflen) > { > if (code < 1 || code >= INTEL_PT_ERR_MAX) > code = INTEL_PT_ERR_UNK; > - strlcpy(buf, intel_pt_err_msgs[code], buflen); > + strscpy(buf, intel_pt_err_msgs[code], buflen); > return 0; > } >
perf doesn't have strscpy():
util/intel-pt-decoder/intel-pt-decoder.c: In function ‘intel_pt__strerror’: util/intel-pt-decoder/intel-pt-decoder.c:510:9: error: implicit declaration of function ‘strscpy’; did you mean ‘strlcpy’? [-Werror=implicit-function-declaration] 510 | strscpy(buf, intel_pt_err_msgs[code], buflen); | ^~~~~~~ | strlcpy cc1: all warnings being treated as errors
| |