[dpdk-dev] [PATCH v1] lib/cmdline: init parse result memory
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Fri Dec 8 13:27:26 CET 2017
On Fri, Dec 08, 2017 at 03:02:44PM +0800, Xueming Li wrote:
> Initialize binary result memory before parsing to avoid garbage in
> parsing result.
>
> Signed-off-by: Xueming Li <xuemingl at mellanox.com>
Since you chose to move the break statement, maybe the original commit
mentioned in my previous message (9b3fbb051d2e "cmdline: fix parsing") can
be reverted afterward? I think it makes tmp_result redundant.
Wenzhuo, as the author of that commit, can you confirm?
Olivier, no problem with breaking the loop immediately after the first
successful match_inst() call instead of the last one? (I don't see why it
would be an issue but I may have missed something)
> ---
> lib/librte_cmdline/cmdline_parse.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_cmdline/cmdline_parse.c b/lib/librte_cmdline/cmdline_parse.c
> index 3e12ee54f..4072103f2 100644
> --- a/lib/librte_cmdline/cmdline_parse.c
> +++ b/lib/librte_cmdline/cmdline_parse.c
> @@ -168,6 +168,9 @@ 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);
> @@ -338,8 +341,8 @@ cmdline_parse(struct cmdline *cl, const char * buf)
> err = CMDLINE_PARSE_AMBIGUOUS;
> f=NULL;
> debug_printf("Ambiguous cmd\n");
> - break;
> }
> + break;
> }
> }
>
> --
> 2.13.3
>
--
Adrien Mazarguil
6WIND
More information about the dev
mailing list