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@