tc/q_netem: Don't dereference possibly NULL pointer
Assuming 'opt' might be NULL, move the call to RTA_PAYLOAD to after the check since it dereferences its parameter. Signed-off-by: Phil Sutter <phil@nwl.cc>
This commit is contained in:
parent
6d02518fdc
commit
a754de3ccd
|
|
@ -538,7 +538,7 @@ static int netem_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
|
||||||
int *ecn = NULL;
|
int *ecn = NULL;
|
||||||
struct tc_netem_qopt qopt;
|
struct tc_netem_qopt qopt;
|
||||||
const struct tc_netem_rate *rate = NULL;
|
const struct tc_netem_rate *rate = NULL;
|
||||||
int len = RTA_PAYLOAD(opt) - sizeof(qopt);
|
int len;
|
||||||
__u64 rate64 = 0;
|
__u64 rate64 = 0;
|
||||||
|
|
||||||
SPRINT_BUF(b1);
|
SPRINT_BUF(b1);
|
||||||
|
|
@ -546,6 +546,7 @@ static int netem_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
|
||||||
if (opt == NULL)
|
if (opt == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
len = RTA_PAYLOAD(opt) - sizeof(qopt);
|
||||||
if (len < 0) {
|
if (len < 0) {
|
||||||
fprintf(stderr, "options size error\n");
|
fprintf(stderr, "options size error\n");
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue