[PATCH] wireless: wext: allocate space for NULL-termination for 32byte SSIDs
johannes at sipsolutions.net
Tue Dec 15 05:35:07 EST 2009
On Tue, 2009-12-15 at 11:30 +0100, Holger Schurig wrote:
> > drivers/net/wireless/libertas$ grep lbs_deb_ * | grep ssid
> > |grep '%s'
> > assoc.c: lbs_deb_join("current SSID '%s', ssid length %u\n",
> > assoc.c: lbs_deb_join("requested ssid '%s', ssid length %u\n",
> > assoc.c: lbs_deb_join("ADHOC_START: SSID '%s', ssid
> > length %u\n",
> > scan.c: lbs_deb_wext("set_scan, essid '%s'\n",
> All those lines are gone once my cfg80211 lands.
> Do you know any way to make sparse moan about them?
Sorry, no, I don't think that's even possible unless you play dirty with
tricks like __iomem uses for instance but that'd require a lot of
casting in otherwise valid uses.
> BTW: the libertas firmware sometimes treat an SSID as a
> zero-terminated string. There are some firmware commands that
> accept just an u8 bytes for the SSID, but not an ssid_len,
> e.g. in the CMD_802_11_AD_HOC_START command.
> You therefore can't connect to the otherwise legitimate SSID of
Ick! I guess your cfg80211 IBSS join handler needs to check for that
then and refuse such an SSID.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 801 bytes
Desc: This is a digitally signed message part
More information about the libertas-dev