Module Name: src Committed By: alnsn Date: Wed Aug 15 21:31:39 UTC 2012
Modified Files: src/sys/net: bpf_filter.c Log Message: MINDEX() macro has 'return 0;' statement. It doesn't set *err to 1 before return when invoked from m_xword() and m_xhalf() functions. The caller doesn't set it to 1 either. So, set *err to 1 before invoking MINDEX(). To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/sys/net/bpf_filter.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/bpf_filter.c diff -u src/sys/net/bpf_filter.c:1.52 src/sys/net/bpf_filter.c:1.53 --- src/sys/net/bpf_filter.c:1.52 Thu Aug 2 20:13:24 2012 +++ src/sys/net/bpf_filter.c Wed Aug 15 21:31:39 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: bpf_filter.c,v 1.52 2012/08/02 20:13:24 rmind Exp $ */ +/* $NetBSD: bpf_filter.c,v 1.53 2012/08/15 21:31:39 alnsn Exp $ */ /*- * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bpf_filter.c,v 1.52 2012/08/02 20:13:24 rmind Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bpf_filter.c,v 1.53 2012/08/15 21:31:39 alnsn Exp $"); #if 0 #if !(defined(lint) || defined(KERNEL)) @@ -78,6 +78,7 @@ m_xword(const struct mbuf *m, uint32_t k u_char *cp, *np; struct mbuf *m0; + *err = 1; MINDEX(len, m, k); cp = mtod(m, u_char *) + k; if (len >= k + 4) { @@ -109,6 +110,7 @@ m_xhalf(const struct mbuf *m, uint32_t k u_char *cp; struct mbuf *m0; + *err = 1; MINDEX(len, m, k); cp = mtod(m, u_char *) + k; if (len >= k + 2) {