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