diff --git a/sys/netgraph/ng_bpf.c b/sys/netgraph/ng_bpf.c index 3dceea397b6..45c5023e1c6 100644 --- a/sys/netgraph/ng_bpf.c +++ b/sys/netgraph/ng_bpf.c @@ -403,7 +403,10 @@ ng_bpf_rcvdata(hook_p hook, item_p item) data = mtod(m, u_char *); /* Run packet through filter */ - len = bpf_filter(hip->prog->bpf_prog, data, totlen, totlen); + if (totlen == 0) + len = 0; /* don't call bpf_filter() with totlen == 0! */ + else + len = bpf_filter(hip->prog->bpf_prog, data, totlen, totlen); if (needfree) FREE(data, M_NETGRAPH_BPF);