The result buffer was not initialized before parsing, inducing garbage
in unused fields or padding of the parsed structure.

Initialize the result buffer each time before parsing.

Fixes: af75078fece3 ("first public release")
Cc: sta...@dpdk.org
Signed-off-by: Xueming Li <xuemi...@mellanox.com>
---
 lib/librte_cmdline/cmdline_parse.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/librte_cmdline/cmdline_parse.c 
b/lib/librte_cmdline/cmdline_parse.c
index c74b146fc..7f799f94d 100644
--- a/lib/librte_cmdline/cmdline_parse.c
+++ b/lib/librte_cmdline/cmdline_parse.c
@@ -168,6 +168,8 @@ match_inst(cmdline_parse_inst_t *inst, const char *buf,
        int n = 0;
        struct cmdline_token_hdr token_hdr;
 
+       if (resbuf != NULL)
+               memset(resbuf, 0, resbuf_size);
        /* check if we match all tokens of inst */
        while (!nb_match_token || i < nb_match_token) {
                token_p = get_token(inst, i);
-- 
2.13.3

Reply via email to