]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Use strcmp comparing BGP alias with an actual entered alias
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Fri, 23 Jul 2021 12:14:54 +0000 (15:14 +0300)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Fri, 23 Jul 2021 12:14:54 +0000 (15:14 +0300)
It might be a case when a partial match is hit and this needs to be fixed.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_route.c
bgpd/bgp_routemap.c

index d5bb53ad8dad6c6987cf7297e8fa30c7551002e0..66ff16d53aab2294d8274585c376789f7fbe1fba 100644 (file)
@@ -10862,8 +10862,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi,
                                                const char *com2alias =
                                                        bgp_community2alias(
                                                                communities[i]);
-                                               if (strncmp(alias, com2alias,
-                                                           strlen(com2alias))
+                                               if (strcmp(alias, com2alias)
                                                    == 0) {
                                                        found = true;
                                                        break;
@@ -10878,8 +10877,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi,
                                                const char *com2alias =
                                                        bgp_community2alias(
                                                                communities[i]);
-                                               if (strncmp(alias, com2alias,
-                                                           strlen(com2alias))
+                                               if (strcmp(alias, com2alias)
                                                    == 0) {
                                                        found = true;
                                                        break;
index 5b1044754ebd440a93a9d391ec4fd78a34013e49..61f57d04753132b5a558c6331a7b816bdfd61a83 100644 (file)
@@ -1195,7 +1195,7 @@ route_match_alias(void *rule, const struct prefix *prefix, void *object)
                for (int i = 0; i < num; i++) {
                        const char *com2alias =
                                bgp_community2alias(communities[i]);
-                       if (strncmp(alias, com2alias, strlen(com2alias)) == 0)
+                       if (strcmp(alias, com2alias) == 0)
                                return RMAP_MATCH;
                }
        }
@@ -1206,7 +1206,7 @@ route_match_alias(void *rule, const struct prefix *prefix, void *object)
                for (int i = 0; i < num; i++) {
                        const char *com2alias =
                                bgp_community2alias(communities[i]);
-                       if (strncmp(alias, com2alias, strlen(com2alias)) == 0)
+                       if (strcmp(alias, com2alias) == 0)
                                return RMAP_MATCH;
                }
        }