On Sat, 6 Jun 2026 21:26:31 +0100
[email protected] wrote:
> From: David Laight <[email protected]>
>
> The buffer length is known to be KUNIT_PARAM_DESC_SIZE
>
> Signed-off-by: David Laight <[email protected]>
Hi David,
Given all the names are set in this file, I'm taking this as a hardening
patch against future problems.
Applied to the testing branch of iio.git which will be rebased on rc1
once available.
thanks,
Jonathan
> ---
> This is one of a group of patches that remove potentially unbounded
> strcpy() calls.
>
> They are mostly replaced by strscpy() or, when strlen() has just been
> called, with memcpy() (usually including the '\0').
>
> Calls with copy string literals into arrays are left unchanged.
> They are safe and easily detected as such.
>
> The changes were made by getting the compiler to detect the calls and
> then fixing the code by hand.
>
> Note that all the changes are only compile tested.
>
> Some Makefiles were changed to allow files to contain strcpy().
> As well as 'difficult to fix' files, this included 'show' functions
> as they really need to use sysfs_emit() or seq_printf().
>
> All the patches are being sent individually to avoid very long cc lists.
> Apologies for the terse commit messages and likely unexpected tags.
> (There are about 100 patches in total.)
>
> drivers/iio/test/iio-test-rescale.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/test/iio-test-rescale.c
> b/drivers/iio/test/iio-test-rescale.c
> index ac6942cf1e44..bcd4a607be19 100644
> --- a/drivers/iio/test/iio-test-rescale.c
> +++ b/drivers/iio/test/iio-test-rescale.c
> @@ -575,7 +575,7 @@ static const struct rescale_tc_data offset_cases[] = {
>
> static void case_to_desc(const struct rescale_tc_data *t, char *desc)
> {
> - strcpy(desc, t->name);
> + strscpy(desc, t->name, KUNIT_PARAM_DESC_SIZE);
> }
>
> KUNIT_ARRAY_PARAM(iio_rescale_scale, scale_cases, case_to_desc);