diff options
author | jkim <jkim@FreeBSD.org> | 2008-08-28 17:59:16 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2008-08-28 17:59:16 +0000 |
commit | 4e5f663031d042c26913e751d019fda2ac3e4a38 (patch) | |
tree | e52b29fc8db78a5e282b3539cc697aed3304a285 /tools/regression | |
parent | 84b37f6437f35b292c9e33f85694b3b2487b56b9 (diff) | |
download | FreeBSD-src-4e5f663031d042c26913e751d019fda2ac3e4a38.zip FreeBSD-src-4e5f663031d042c26913e751d019fda2ac3e4a38.tar.gz |
Merge bpf_filter.c r182380 and remove additional local checks
for BPF_STX and BPF_LDX|BPF_MEM instructions.
Diffstat (limited to 'tools/regression')
-rw-r--r-- | tools/regression/bpf/bpf_filter/bpf_test.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/tools/regression/bpf/bpf_filter/bpf_test.c b/tools/regression/bpf/bpf_filter/bpf_test.c index 40b5af5..aa8762c 100644 --- a/tools/regression/bpf/bpf_filter/bpf_test.c +++ b/tools/regression/bpf/bpf_filter/bpf_test.c @@ -189,20 +189,12 @@ bpf_validate(const struct bpf_insn *f, int len) * Check that memory operations use valid addresses. */ if ((BPF_CLASS(p->code) == BPF_ST || - (BPF_CLASS(p->code) == BPF_LD && - (p->code & 0xe0) == BPF_MEM)) && + BPF_CLASS(p->code) == BPF_STX || + ((BPF_CLASS(p->code) == BPF_LD || + BPF_CLASS(p->code) == BPF_LDX) && + (p->code & 0xe0) == BPF_MEM)) && p->k >= BPF_MEMWORDS) return (0); -#if BPF_VALIDATE > 1 - /* - * XXX JK: BPF_STX and BPF_LDX|BPF_MEM must be checked. - */ - if ((BPF_CLASS(p->code) == BPF_STX || - (BPF_CLASS(p->code) == BPF_LDX && - (p->code & 0xe0) == BPF_MEM)) && - p->k >= BPF_MEMWORDS) - return (0); -#endif /* * Check for constant division by 0. */ |