diff options
author | Andrew Yourtchenko <ayourtch@gmail.com> | 2019-01-21 16:39:33 +0100 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2019-04-05 12:48:09 +0000 |
commit | ae605b89035b26248f245597291474be6ae8ec5e (patch) | |
tree | dffa12b7de85210c0a1e8b60d566f0b9d4e10b8f /src | |
parent | f118ea2f38095652f29739052202b49802836fa2 (diff) |
vlib: fix "foo_msg" and "foo_msg_reply" in API message table triggering the "defininion changed" output
strncmp() succeeds if the i+1th message is "foo_reply",
because the comparison terminates early after "foo" -
which triggers the "definition changed" rather than
"only in ..." message.
Fix also the case where i+1th element does not exist.
Change-Id: I127136410491d9dd102e160fd831fcf6f0bd3a9f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'src')
-rwxr-xr-x | src/vlibmemory/vlib_api_cli.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vlibmemory/vlib_api_cli.c b/src/vlibmemory/vlib_api_cli.c index 4c55292ad6d..2d8d4077871 100755 --- a/src/vlibmemory/vlib_api_cli.c +++ b/src/vlibmemory/vlib_api_cli.c @@ -1114,8 +1114,8 @@ dump_api_table_file_command_fn (vlib_main_t * vm, ndifferences++; /* Only in one of two tables? */ - if (strncmp ((char *) table[i].name, (char *) table[i + 1].name, - vec_len (table[i].name))) + if (i + 1 == vec_len (table) + || strcmp ((char *) table[i].name, (char *) table[i + 1].name)) { last_unique: vlib_cli_output (vm, "%-60s only in %s", |