R: [RPCD PATCH v4 4/4] iwinfo: export center channel for info ubus call

ansuelsmth at gmail.com ansuelsmth at gmail.com
Wed Jan 6 10:30:06 EST 2021


> Hi,
> 
> comment below.
> 
> > [...]
> > diff --git a/iwinfo.c b/iwinfo.c
> > index 45ca784..94fa822 100644
> > --- a/iwinfo.c
> > +++ b/iwinfo.c
> > @@ -364,6 +364,8 @@ rpc_iwinfo_info(struct ubus_context *ctx, struct
> ubus_object *obj,
> >
> >  	rpc_iwinfo_call_int("mode", iw->mode, IWINFO_OPMODE_NAMES);
> >  	rpc_iwinfo_call_int("channel", iw->channel, NULL);
> 
> You need to check `iw->center_chan1` and `iw->center_chan2` for non-null
> before calling them, otherwise rpcd will crash when querying wifi interfaces
> not using the nl80211 backend.
> 
> Wrapping the next two lines into `if (iw->center_chan1) { ... }` should do.
> Even better would be adding stubs returning `-1` to the other iwinfo backends
> (madwifi, wl, wext).
> 

Looking at [0], in theory we should be able to skip this check. Also about the
wrapper, I think it's better to directly skip the data instead of providing -1.
Am I wrong?

[0] https://github.com/mkschreder/openwrt-rpcd/blob/master/iwinfo.c

> > +	rpc_iwinfo_call_int("center_chan1", iw->center_chan1, NULL);
> > +	rpc_iwinfo_call_int("center_chan2", iw->center_chan2, NULL);
> >
> >  	rpc_iwinfo_call_int("frequency", iw->frequency, NULL);
> >  	rpc_iwinfo_call_int("frequency_offset", iw->frequency_offset, NULL);
> >
> 
> ~ Jo





More information about the openwrt-devel mailing list