From: Vincent JARDIN Date: Mon, 9 Oct 2017 07:43:26 +0000 (+0200) Subject: bgpd: fix aspath parsing X-Git-Tag: frr-4.0-dev~231^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=b42d80dd9a8ba9e40b2001bd6d4e9baf6cb7dc10;p=mirror%2Ffrr.git bgpd: fix aspath parsing clang provides a notice about it that this p++ is useless, because ++ would be done after the return. From code review, I understand that p shall be incremented for each token that is parsed from the buf. So let's keep this intent. Note that this commit is changing the behaviour of the source code since from now p++ will be returned instead of p. However, it does not hurt since the only consumer just free() the aspath if it is parsed as as_token_unknown. Let's be safe with a proper execution flow from now. PS: C reminders: int f7(void) { int j = 7; return ++j; // return 8 } int f8(void) { int j = 7; return j++; // return 7 } Signed-off-by: Vincent Jardin --- diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c index 2b776d2182..6c03ba3059 100644 --- a/bgpd/bgp_aspath.c +++ b/bgpd/bgp_aspath.c @@ -1914,7 +1914,8 @@ static const char *aspath_gettoken(const char *buf, enum as_token *token, /* There is no match then return unknown token. */ *token = as_token_unknown; - return p++; + p++; + return p; } struct aspath *aspath_str2aspath(const char *str)