Messages in this thread Patch in this message | | | From | sunichi <> | Subject | [PATCH] tipc: fix a log bug | Date | Sun, 23 Apr 2023 11:55:45 +0800 |
| |
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(-)
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
| |