Message ID | 20230423035545.3528996-1-sunyiqixm@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | tipc: fix a log bug | expand |
>Subject: [PATCH] tipc: fix a log bug Please rephrase this patch title, what is "log bug" ? > >When tipc stripe \x00 from string hex, it walks step by step >instead of two step. >It will cause a char which ascii low 4 bit is zero be striped. >So change one step iteration to two step to fix this bug. > Please rephrase this change log by correcting typo/grammar and provide printouts of "tipc node list" command to prove unexpected/incorrect node id. >Signed-off-by: sunichi <sunyiqixm@gmail.com> If you can prove there is a bug, please add Fixes tag to your patch. >--- > net/tipc/addr.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > >diff --git a/net/tipc/addr.c b/net/tipc/addr.c >index fd0796269..83eb91ca3 100644 >--- a/net/tipc/addr.c >+++ b/net/tipc/addr.c >@@ -117,8 +117,10 @@ char *tipc_nodeid2string(char *str, u8 *id) > sprintf(&str[2 * i], "%02x", id[i]); > > /* Strip off trailing zeroes */ >- for (i = NODE_ID_STR_LEN - 2; str[i] == '0'; i--) >+ for (i = NODE_ID_STR_LEN - 2; str[i] == '0' && str[i - 1] == '0'; i -= 2) { > str[i] = 0; >+ str[i - 1] = 0; >+ } > > return str; > } >-- >2.25.1
diff --git a/net/tipc/addr.c b/net/tipc/addr.c index fd0796269..83eb91ca3 100644 --- a/net/tipc/addr.c +++ b/net/tipc/addr.c @@ -117,8 +117,10 @@ char *tipc_nodeid2string(char *str, u8 *id) sprintf(&str[2 * i], "%02x", id[i]); /* Strip off trailing zeroes */ - for (i = NODE_ID_STR_LEN - 2; str[i] == '0'; i--) + for (i = NODE_ID_STR_LEN - 2; str[i] == '0' && str[i - 1] == '0'; i -= 2) { str[i] = 0; + str[i - 1] = 0; + } return str; }
When tipc stripe \x00 from string hex, it walks step by step instead of two step. It will cause a char which ascii low 4 bit is zero be striped. So change one step iteration to two step to fix this bug. Signed-off-by: sunichi <sunyiqixm@gmail.com> --- net/tipc/addr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)