Re: [PATCH] Fix application of sizeof to pointer

From: Viktor.Rosendahl
Date: Tue Oct 12 2021 - 07:13:13 EST


On Mon, 2021-10-11 at 23:06 -0400, Steven Rostedt wrote:
> On Tue, 12 Oct 2021 10:54:24 +0800
> davidcomponentone@xxxxxxxxx wrote:
>
> > From: David Yang <davidcomponentone@xxxxxxxxx>
> >
> > The coccinelle check report:
> > "./tools/tracing/latency/latency-collector.c:1541:10-16:
> > ERROR: application of sizeof to pointer"
> > Using the "strlen" to fix it.
> >
> > Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> > Signed-off-by: David Yang <davidcomponentone@xxxxxxxxx>
> > ---
> > tools/tracing/latency/latency-collector.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/tracing/latency/latency-collector.c
> > b/tools/tracing/latency/latency-collector.c
> > index 3a2e6bb781a8..b131007e6c70 100644
> > --- a/tools/tracing/latency/latency-collector.c
> > +++ b/tools/tracing/latency/latency-collector.c
> > @@ -1538,7 +1538,7 @@ static void tracing_loop(void)
> > mutex_lock(&print_mtx);
> > check_signals();
> > write_or_die(fd_stdout, queue_full_warning,
> > - sizeof(queue_full_warning));
> > + strlen(queue_full_warning) + 1);
>
> Really, the +1, although would match if queue_full_warning was an
> array, but in this use case, there's no reason to pass the nul
> character to the write.

I agree that the +1 should not be there because the null character would end up
in the output; write will not ignore it. It could be confusing if the output
would be be processed by another program.

best regards,

Viktor

>
> -- Steve
>
>
> > mutex_unlock(&print_mtx);
> > }
> > modified--;