From f453a0d451706555690673e12b70069d84d5cf01 Mon Sep 17 00:00:00 2001 From: shemminger Date: Fri, 7 Oct 2005 16:33:21 +0000 Subject: [PATCH] Fix tc pfifo_fast with options --- ChangeLog | 4 ++++ tc/tc.c | 2 +- tc/tc_qdisc.c | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4a50ffa6..e663fe60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2005-10-07 Mike Frysinger + + * Handle pfifo_fast that has no qopt without segfaulting + 2005-10-05 Mads Martin Joergensen * Trivial netem ccopts diff --git a/tc/tc.c b/tc/tc.c index 16d6c795..fa36ee07 100644 --- a/tc/tc.c +++ b/tc/tc.c @@ -38,7 +38,7 @@ int use_iec = 0; int force = 0; struct rtnl_handle rth; -static void *BODY; /* cached handle dlopen(NULL) */ +static void *BODY = NULL; /* cached handle dlopen(NULL) */ static struct qdisc_util * qdisc_list; static struct filter_util * filter_list; diff --git a/tc/tc_qdisc.c b/tc/tc_qdisc.c index 7802d528..e9174abf 100644 --- a/tc/tc_qdisc.c +++ b/tc/tc_qdisc.c @@ -126,6 +126,10 @@ int tc_qdisc_modify(int cmd, unsigned flags, int argc, char **argv) addattr_l(&req.n, sizeof(req), TCA_RATE, &est, sizeof(est)); if (q) { + if (!q->parse_qopt) { + fprintf(stderr, "qdisc '%s' does not support option parsing\n", k); + return -1; + } if (q->parse_qopt(q, argc, argv, &req.n)) return 1; } else { -- 2.39.5