[dpdk-dev] [PATCH v3 1/2] lib/cmdline: release cl when cmdline exit
Dmitry Kozlyuk
dmitry.kozliuk at gmail.com
Mon Oct 11 10:25:58 CEST 2021
2021-10-08 06:41 (UTC+0000), zhihongx.peng at intel.com:
> From: Zhihong Peng <zhihongx.peng at intel.com>
>
> Malloc cl in the cmdline_stdin_new function, so release in the
> cmdline_stdin_exit function is logical, so that cl will not be
> released alone.
>
> Fixes: af75078fece3 (first public release)
> Cc: stable at dpdk.org
As I have explained before, backporting this will introduce a double-free bug
in user apps unless their code are fixed, so it must not be done.
>
> Signed-off-by: Zhihong Peng <zhihongx.peng at intel.com>
> ---
> doc/guides/rel_notes/release_21_11.rst | 5 +++++
> lib/cmdline/cmdline_socket.c | 1 +
> 2 files changed, 6 insertions(+)
>
> diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
> index efeffe37a0..be24925d16 100644
> --- a/doc/guides/rel_notes/release_21_11.rst
> +++ b/doc/guides/rel_notes/release_21_11.rst
> @@ -191,6 +191,11 @@ API Changes
> the crypto/security operation. This field will be used to communicate
> events such as soft expiry with IPsec in lookaside mode.
>
> +* cmdline: The API cmdline_stdin_exit has added cmdline_free function.
> + Malloc cl in the cmdline_stdin_new function, so release in the
> + cmdline_stdin_exit function is logical. The application code
> + that calls cmdline_free needs to be deleted.
> +
There's probably no need to go into such details, suggestion:
* cmdline: ``cmdline_stdin_exit()`` now frees the ``cmdline`` structure.
Calls to ``cmdline_free()`` after it need to be deleted from applications.
>
> ABI Changes
> -----------
> diff --git a/lib/cmdline/cmdline_socket.c b/lib/cmdline/cmdline_socket.c
> index 998e8ade25..ebd5343754 100644
> --- a/lib/cmdline/cmdline_socket.c
> +++ b/lib/cmdline/cmdline_socket.c
> @@ -53,4 +53,5 @@ cmdline_stdin_exit(struct cmdline *cl)
> return;
>
> terminal_restore(cl);
> + cmdline_free(cl);
> }
More information about the dev
mailing list