tools/perf/jvmti/libjvmti.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The latest kernel docs:
https://www.kernel.org/doc/html/latest/process/deprecated.html
recommends replacing strlcpy with strscpy as the safer alternative. The
value of strlcpy is not used so there shouldn't be issues with replacing
the deprecated call.
Signed-off-by: Daniel Yang <danielyangkang@gmail.com>
---
tools/perf/jvmti/libjvmti.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/jvmti/libjvmti.c b/tools/perf/jvmti/libjvmti.c
index fcca275e5..04d6825d2 100644
--- a/tools/perf/jvmti/libjvmti.c
+++ b/tools/perf/jvmti/libjvmti.c
@@ -158,7 +158,7 @@ copy_class_filename(const char * class_sign, const char * file_name, char * resu
result[i] = '\0';
} else {
/* fallback case */
- strlcpy(result, file_name, max_length);
+ strscpy(result, file_name, max_length);
}
}
--
2.39.2
> On 5 Nov 2024, at 12:42 PM, Daniel Yang <danielyangkang@gmail.com> wrote: > > The latest kernel docs: > https://www.kernel.org/doc/html/latest/process/deprecated.html > recommends replacing strlcpy with strscpy as the safer alternative. The > value of strlcpy is not used so there shouldn't be issues with replacing > the deprecated call. > > Signed-off-by: Daniel Yang <danielyangkang@gmail.com> > --- > tools/perf/jvmti/libjvmti.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/jvmti/libjvmti.c b/tools/perf/jvmti/libjvmti.c > index fcca275e5..04d6825d2 100644 > --- a/tools/perf/jvmti/libjvmti.c > +++ b/tools/perf/jvmti/libjvmti.c > @@ -158,7 +158,7 @@ copy_class_filename(const char * class_sign, const char * file_name, char * resu > result[i] = '\0'; > } else { > /* fallback case */ > - strlcpy(result, file_name, max_length); > + strscpy(result, file_name, max_length); Hi, This hits a compilation error: In file included from jvmti/libjvmti.c:3: jvmti/libjvmti.c: In function ‘copy_class_filename’: /home/athira/perf-tools-next/tools/include/linux/string.h:15:17: error: too many arguments to function ‘strcpy’ 15 | #define strscpy strcpy | ^~~~~~ jvmti/libjvmti.c:161:17: note: in expansion of macro ‘strscpy’ 161 | strscpy(result, file_name, max_length); | ^~~~~~~ In file included from /usr/include/features.h:490, from /usr/include/bits/libc-header-start.h:33, from /usr/include/stdint.h:26, from /usr/lib/gcc/ppc64le-redhat-linux/11/include/stdint.h:9, from /home/athira/perf-tools-next/tools/include/linux/types.h:7, from /home/athira/perf-tools-next/tools/include/linux/compiler.h:131, from jvmti/libjvmti.c:2: /usr/include/bits/string_fortified.h:77:1: note: declared here 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ My analysis/review for this is same as my response for your similar patch here: https://lore.kernel.org/linux-perf-users/3CA737FF-2F21-42CA-BF95-5F0341F6B68B@linux.vnet.ibm.com/T/#m619e016f6dd4abb1e1830580bdc74c86b4fcace8 Thanks Athira > } > } > > -- > 2.39.2 > >
© 2016 - 2024 Red Hat, Inc.