2021-10-08 06:41 (UTC+0000), zhihongx.p...@intel.com: > From: Zhihong Peng <zhihongx.p...@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: sta...@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.p...@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); > }