Re: [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy

From: Daniel DÃaz
Date: Tue Aug 14 2018 - 11:45:07 EST


Hello!


On 12 July 2018 at 20:26, Dominique Martinet <asmadeus@xxxxxxxxxxxxx> wrote:
> Generated by scripts/coccinelle/misc/strncpy_truncation.cocci
>
> Signed-off-by: Dominique Martinet <asmadeus@xxxxxxxxxxxxx>
> ---
>
> Please see https://marc.info/?l=linux-kernel&m=153144450722324&w=2 (the
> first patch of the serie) for the motivation behind this patch
>
> tools/power/cpupower/bench/parse.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/tools/power/cpupower/bench/parse.c b/tools/power/cpupower/bench/parse.c
> index 9ba8a44ad2a7..1566b89989b2 100644
> --- a/tools/power/cpupower/bench/parse.c
> +++ b/tools/power/cpupower/bench/parse.c
> @@ -221,9 +221,8 @@ int prepare_config(const char *path, struct config *config)
> sscanf(val, "%u", &config->cpu);
>
> else if (strcmp("governor", opt) == 0) {
> - strncpy(config->governor, val,
> + strlcpy(config->governor, val,
> sizeof(config->governor));
> - config->governor[sizeof(config->governor) - 1] = '\0';
> }
>
> else if (strcmp("priority", opt) == 0) {
> --
> 2.17.1

I can't get cpupower to compile anymore now that it made its way to linux-next:
[/linux/tools/power/cpupower]$ make
CC lib/cpufreq.o
[...]
make[1]: Entering directory '/linux/tools/power/cpupower/bench'
CC main.o
CC parse.o
parse.c: In function âprepare_configâ:
parse.c:224:4: warning: implicit declaration of function âstrlcpyâ
[-Wimplicit-function-declaration]
strlcpy(config->governor, val,
^
CC system.o
CC benchmark.o
CC cpufreq-bench
.//parse.o: In function `prepare_config':
/linux/tools/power/cpupower/bench/parse.c:224: undefined reference
to `strlcpy'
collect2: error: ld returned 1 exit status
Makefile:25: recipe for target 'cpufreq-bench' failed
make[1]: *** [cpufreq-bench] Error 1
make[1]: Leaving directory '/linux/tools/power/cpupower/bench'
Makefile:258: recipe for target 'compile-bench' failed
make: *** [compile-bench] Error 2

Does it need anything special to make?

Greetings!

Daniel DÃaz
daniel.diaz@xxxxxxxxxx