diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2023-09-26 02:09:35 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-09-26 02:09:35 +0000 |
commit | 6127343e064f42d94e0a8ffe1c896329e6ff833f (patch) | |
tree | d17266445089b30c3279b0b876e8cdcbabc0d110 | |
parent | f635494bf4c333e60abe535cf374e9e18ad0a6a0 (diff) | |
parent | 6ff49255af1589044a5af430c23413467cd4e41b (diff) | |
download | iproute2-6127343e064f42d94e0a8ffe1c896329e6ff833f.tar.gz |
Merge "macsec: fix off-by-one when parsing attributes" into main am: 66962edd08 am: 63749e89a3 am: d99069a3ce am: 6ff49255afandroid-u-qpr3-beta-1-gplandroid-u-qpr2-beta-2-gpl
Original change: https://android-review.googlesource.com/c/platform/external/iproute2/+/2760365
Change-Id: Ia56718bb120cdd4df3faa7ec7e78042b0b8284fc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | ip/ipmacsec.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/ip/ipmacsec.c b/ip/ipmacsec.c index ecc371a5..d15f5cd4 100644 --- a/ip/ipmacsec.c +++ b/ip/ipmacsec.c @@ -653,7 +653,7 @@ static void print_txsc_stats(const char *prefix, struct rtattr *attr) if (!attr || show_stats == 0) return; - parse_rtattr_nested(stats, MACSEC_TXSC_STATS_ATTR_MAX + 1, attr); + parse_rtattr_nested(stats, MACSEC_TXSC_STATS_ATTR_MAX, attr); printf("%sstats:", prefix); for (i = 1; i < NUM_MACSEC_TXSC_STATS_ATTR; i++) { @@ -692,7 +692,7 @@ static void print_secy_stats(const char *prefix, struct rtattr *attr) if (!attr || show_stats == 0) return; - parse_rtattr_nested(stats, MACSEC_SECY_STATS_ATTR_MAX + 1, attr); + parse_rtattr_nested(stats, MACSEC_SECY_STATS_ATTR_MAX, attr); printf("%sstats:", prefix); for (i = 1; i < NUM_MACSEC_SECY_STATS_ATTR; i++) { @@ -728,7 +728,7 @@ static void print_rxsa_stats(const char *prefix, struct rtattr *attr) if (!attr || show_stats == 0) return; - parse_rtattr_nested(stats, MACSEC_SA_STATS_ATTR_MAX + 1, attr); + parse_rtattr_nested(stats, MACSEC_SA_STATS_ATTR_MAX, attr); printf("%s%s ", prefix, prefix); for (i = 1; i < NUM_MACSEC_SA_STATS_ATTR; i++) { @@ -760,7 +760,7 @@ static void print_txsa_stats(const char *prefix, struct rtattr *attr) if (!attr || show_stats == 0) return; - parse_rtattr_nested(stats, MACSEC_SA_STATS_ATTR_MAX + 1, attr); + parse_rtattr_nested(stats, MACSEC_SA_STATS_ATTR_MAX, attr); printf("%s%s %s %s\n", prefix, prefix, txsa_stats_names[MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED], txsa_stats_names[MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED]); @@ -790,7 +790,7 @@ static void print_tx_sc(const char *prefix, __u64 sci, __u8 encoding_sa, SPRINT_BUF(keyid); bool state; - parse_rtattr_nested(sa_attr, MACSEC_SA_ATTR_MAX + 1, a); + parse_rtattr_nested(sa_attr, MACSEC_SA_ATTR_MAX, a); state = rta_getattr_u8(sa_attr[MACSEC_SA_ATTR_ACTIVE]); printf("%s%s%d: PN %u, state %s, key %s\n", prefix, prefix, rta_getattr_u8(sa_attr[MACSEC_SA_ATTR_AN]), @@ -824,7 +824,7 @@ static void print_rxsc_stats(const char *prefix, struct rtattr *attr) if (!attr || show_stats == 0) return; - parse_rtattr_nested(stats, MACSEC_RXSC_STATS_ATTR_MAX + 1, attr); + parse_rtattr_nested(stats, MACSEC_RXSC_STATS_ATTR_MAX, attr); printf("%sstats:", prefix); for (i = 1; i < NUM_MACSEC_RXSC_STATS_ATTR; i++) { if (!rxsc_stats_names[i]) @@ -859,7 +859,7 @@ static void print_rx_sc(const char *prefix, __u64 sci, __u8 active, SPRINT_BUF(keyid); bool state; - parse_rtattr_nested(sa_attr, MACSEC_SA_ATTR_MAX + 1, a); + parse_rtattr_nested(sa_attr, MACSEC_SA_ATTR_MAX, a); state = rta_getattr_u8(sa_attr[MACSEC_SA_ATTR_ACTIVE]); printf("%s%s%d: PN %u, state %s, key %s\n", prefix, prefix, rta_getattr_u8(sa_attr[MACSEC_SA_ATTR_AN]), @@ -902,7 +902,7 @@ static int process(const struct sockaddr_nl *who, struct nlmsghdr *n, } ifindex = rta_getattr_u32(attrs[MACSEC_ATTR_IFINDEX]); - parse_rtattr_nested(attrs_secy, MACSEC_SECY_ATTR_MAX + 1, + parse_rtattr_nested(attrs_secy, MACSEC_SECY_ATTR_MAX, attrs[MACSEC_ATTR_SECY]); if (!validate_secy_dump(attrs_secy)) { @@ -935,7 +935,7 @@ static int process(const struct sockaddr_nl *who, struct nlmsghdr *n, for (c = RTA_DATA(sc); RTA_OK(c, rem); c = RTA_NEXT(c, rem)) { struct rtattr *sc_attr[MACSEC_RXSC_ATTR_MAX + 1]; - parse_rtattr_nested(sc_attr, MACSEC_RXSC_ATTR_MAX + 1, c); + parse_rtattr_nested(sc_attr, MACSEC_RXSC_ATTR_MAX, c); print_rx_sc(" ", rta_getattr_u64(sc_attr[MACSEC_RXSC_ATTR_SCI]), rta_getattr_u32(sc_attr[MACSEC_RXSC_ATTR_ACTIVE]), |