On Fri, May 08, 2009 at 05:41:18PM +0300, Elad Efrat wrote: > Index: if_bridge.c > =================================================================== > RCS file: /cvsroot/src/sys/net/if_bridge.c,v > retrieving revision 1.68 > diff -u -p -r1.68 if_bridge.c > --- if_bridge.c 4 Apr 2009 15:53:49 -0000 1.68 > +++ if_bridge.c 8 May 2009 14:38:48 -0000 > @@ -445,9 +445,27 @@ bridge_ioctl(struct ifnet *ifp, u_long c > struct ifbrparam ifbrparam; > } args; > struct ifdrv *ifd = (struct ifdrv *) data; > - const struct bridge_control *bc; > + const struct bridge_control *bc = NULL; /* XXXGCC */ > int s, error = 0; > > + /* Authorize command before calling splnet(). */ > + switch (cmd) { > + case SIOCGDRVSPEC: > + case SIOCSDRVSPEC: > + bc = &bridge_control_table[ifd->ifd_cmd]; > + > + /* We only care about BC_F_SUSER at this point. */ > + if ((bc->bc_flags & BC_F_SUSER) == 0) We're certainly not interested in skipping the test for ifd_cmd's validity. I hope you've been more careful for all the commits you've done the past couple weeks. -- Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost "See the look on my face from staying too long in one place [...] every time the morning breaks I know I'm closer to falling" KT Tunstall, Saving My Face, Drastic Fantastic, 2007.
Attachment:
pgpnzZFMRSf0Q.pgp
Description: PGP signature