diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/bpf_filter.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/net/bpf_filter.c b/sys/net/bpf_filter.c index 40b54bf..77dab7d 100644 --- a/sys/net/bpf_filter.c +++ b/sys/net/bpf_filter.c @@ -520,7 +520,12 @@ bpf_validate(f, len) register int i; register const struct bpf_insn *p; - if (len < 1) + /* Do not accept negative length filter. */ + if (len < 0) + return 0; + + /* An empty filter means accept all. */ + if (len == 0) return 1; for (i = 0; i < len; ++i) { |