diff options
author | Santosh Nayak <santoshprasadnayak@gmail.com> | 2012-03-22 12:42:41 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-03-28 14:25:35 -0400 |
commit | e90c7e712980bf794f88f749e2a1270e4a4a116e (patch) | |
tree | e037a02e279b449c6889dcbee8b76424655f4036 /drivers/net | |
parent | 75836b8daefdde84f8b5dde1be5b67d858139df3 (diff) | |
download | op-kernel-dev-e90c7e712980bf794f88f749e2a1270e4a4a116e.zip op-kernel-dev-e90c7e712980bf794f88f749e2a1270e4a4a116e.tar.gz |
net: orinoco: add error handling for failed kmalloc().
With flag 'GFP_ATOMIC', probability of allocation failure is more.
Add error handling after kmalloc() call to avoid null dereference.
Signed-off-by: Santosh Nayak <santoshprasadnayak@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/orinoco/main.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/orinoco/main.c b/drivers/net/wireless/orinoco/main.c index dd6c64a..88e3ad2 100644 --- a/drivers/net/wireless/orinoco/main.c +++ b/drivers/net/wireless/orinoco/main.c @@ -1336,6 +1336,10 @@ static void qbuf_scan(struct orinoco_private *priv, void *buf, unsigned long flags; sd = kmalloc(sizeof(*sd), GFP_ATOMIC); + if (!sd) { + printk(KERN_ERR "%s: failed to alloc memory\n", __func__); + return; + } sd->buf = buf; sd->len = len; sd->type = type; @@ -1353,6 +1357,10 @@ static void qabort_scan(struct orinoco_private *priv) unsigned long flags; sd = kmalloc(sizeof(*sd), GFP_ATOMIC); + if (!sd) { + printk(KERN_ERR "%s: failed to alloc memory\n", __func__); + return; + } sd->len = -1; /* Abort */ spin_lock_irqsave(&priv->scan_lock, flags); |