Re: [PATCH 15/38] trace-cmd lib: check the return value of do_lssek() in trace_get_options()

Steven Rostedt <[email protected]>
Newsgroups org.kernel.vger.linux-trace-devel
Message-ID <[email protected]>
Note the subject has a typo "lssek".


On Wed,  5 Jun 2024 15:40:30 +0200
"Jerome Marchand" <[email protected]> wrote:

> Check that do_lseek doesn't fail before calling malloc() with a -1
> argument.
> 
> This is flagged as an overrun error (CWE-119) by static anaysis
> because of the call to read() later, but I don't imagine that malloc
> would succeed.
> 
> Signed-off-by: Jerome Marchand <[email protected]>
> ---
>  lib/trace-cmd/trace-output.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/lib/trace-cmd/trace-output.c b/lib/trace-cmd/trace-output.c
> index 5ba0a145..35904620 100644
> --- a/lib/trace-cmd/trace-output.c
> +++ b/lib/trace-cmd/trace-output.c
> @@ -2069,6 +2069,8 @@ __hidden void *trace_get_options(struct tracecmd_output *handle, size_t *len)
>  	}
>  
>  	offset = do_lseek(&out_handle, 0, SEEK_CUR);
> +	if(offset == (off_t)-1)

Nit, the above has whitespace issues:

	if (offset == (off_t)-1)

Could you resend this?

Thanks,

-- Steve

> +		goto out;
>  	buf = malloc(offset);
>  	if (!buf)
>  		goto out;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.