> 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



_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to