diff --git a/tc/m_police.c b/tc/m_police.c index b1911a4b..71adb594 100644 --- a/tc/m_police.c +++ b/tc/m_police.c @@ -318,8 +318,7 @@ print_police(struct action_util *a, FILE *f, struct rtattr *arg) if (arg == NULL) return 0; - memset(tb, 0, sizeof(tb)); - parse_rtattr(tb, TCA_POLICE_MAX, RTA_DATA(arg), RTA_PAYLOAD(arg)); + parse_rtattr_nested(tb, TCA_POLICE_MAX, arg); if (tb[TCA_POLICE_TBF] == NULL) { fprintf(f, "[NULL police tbf]"); diff --git a/tc/q_htb.c b/tc/q_htb.c index abc49715..828d4b1a 100644 --- a/tc/q_htb.c +++ b/tc/q_htb.c @@ -246,8 +246,7 @@ static int htb_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) if (opt == NULL) return 0; - memset(tb, 0, sizeof(tb)); - parse_rtattr(tb, TCA_HTB_RTAB, RTA_DATA(opt), RTA_PAYLOAD(opt)); + parse_rtattr_nested(tb, TCA_HTB_RTAB, opt); if (tb[TCA_HTB_PARMS]) {