On Tue, May 31, 2016 at 13:17:30 +0200, Michal Privoznik wrote: > On 31.05.2016 13:06, Peter Krempa wrote: > > On Tue, May 31, 2016 at 12:33:25 +0200, Michal Privoznik wrote: > >> It may happen, that this function would dereference a NULL > >> pointer: > >> > >> util/virnetdevbridge.c: In function 'virNetDevBridgeGetVlanFiltering': > >> util/virnetdevbridge.c:199:23: error: null pointer dereference [-Werror=null-dereference] > >> ifr->ifr_data = (char*)&args; > >> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~ > >> > >> Signed-off-by: Michal Privoznik <mprivozn redhat com> > >> --- > >> src/util/virnetdevbridge.c | 6 +++++- > >> 1 file changed, 5 insertions(+), 1 deletion(-) > > > > How about fixing the single caller that passes NULL in @ifr? > > > > virNetDevBridgeGetVlanFiltering > > > > What about it? AFAIK, SIOCDEVPRIVATE ioctl is not able to tell us > whether vlan filtering is enabled. Therefore I don't see much sense in > providing a fd and ifreq struct just so that we can go through else > branch too. Then the check should be based on @fd being -1 where apparently the second case doesn't make sense at all whether @ifr is set or not. I think it would make sense to extract the part that operates on @path and call it separately since you don't need the fallback path at all rather than using the compound function.
Description: Digital signature