Re: tracing/probes: Fix a memory leak in traceprobe_parse_probe_arg_body()

From: Markus Elfring
Date: Fri Apr 26 2024 - 12:45:53 EST



> ----
> If traceprobe_parse_probe_arg_body() fails to allocate 'parg->fmt', it
> jumps to 'out' instead of 'fail' by mistake. In the result, in this
> case the 'tmp' buffer is not freed and leaks its memory.
>
> Fix it by jumping to 'fail' in that case.
> ----


How do you think about another approach for a more desirable change description?

If traceprobe_parse_probe_arg_body() failed to allocate the object “parg->fmt”,
it jumps to the label “out” instead of “fail” by mistake.
In the result, the buffer “tmp” is not freed in this case and leaks its memory.

Thus jump to the label “fail” in that case (so that the exception handling
will be improved another bit).


Regards,
Markus