Skip to content

Commit

Permalink
[PATCH] hostap: Fix null pointer dereference in prism2_pccard_card_pr…
Browse files Browse the repository at this point in the history
…esent()

local->hw_priv was initialized only after the interrupt handler was
registered. This could trigger a NULL pointer dereference in
prism2_pccard_card_present() that assumed that local->hw_priv is always
set (and it should have been). Fix this by setting local->hw_priv before
registering the interrupt handler.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
  • Loading branch information
Jouni Malinen authored and Jeff Garzik committed Sep 1, 2005
1 parent a8eef8a commit fbff868
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions drivers/net/wireless/hostap/hostap_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -772,6 +772,13 @@ static int prism2_config(dev_link_t *link)
goto failed;
link->priv = dev;

iface = netdev_priv(dev);
local = iface->local;
local->hw_priv = hw_priv;
hw_priv->link = link;
strcpy(hw_priv->node.dev_name, dev->name);
link->dev = &hw_priv->node;

/*
* Allocate an interrupt line. Note that this does not assign a
* handler to the interrupt, unless the 'Handler' member of the
Expand Down Expand Up @@ -817,13 +824,6 @@ static int prism2_config(dev_link_t *link)
link->state |= DEV_CONFIG;
link->state &= ~DEV_CONFIG_PENDING;

iface = netdev_priv(dev);
local = iface->local;
local->hw_priv = hw_priv;
hw_priv->link = link;
strcpy(hw_priv->node.dev_name, dev->name);
link->dev = &hw_priv->node;

local->shutdown = 0;

sandisk_enable_wireless(dev);
Expand Down

0 comments on commit fbff868

Please sign in to comment.