CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2021/01/25 12:47:16

Modified files:
        sys/net        : bridgectl.c bridgestp.c if_bridge.c if_bridge.h 

Log message:
We have this sequence in bridge(4) ioctl(2) path:

ifs = ifunit(req->ifbr_ifsname);
if (ifs == NULL) {
error = ENOENT;
break;
}
if (ifs->if_bridgeidx != ifp->if_index) {
error = ESRCH;
break;
}
bif = bridge_getbif(ifs);

This sequence repeats 8 times. Also we don't check value returned by
bridge_getbig() before use. Newly introduced bridge_getbig() function
replaces this sequence. This not only reduces duplicated code but also
makes `bif' dereference safe.

ok bluhm@

Reply via email to