Skip to contentSkip to conversation

ipw2200: check for allocation failures

PATCH New Dan Carpenter 1 participant 1 message Oct 4, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ipw2200: check for allocation failures

If kzalloc() fails then return should return with -ENOMEM.

---
I think the first allocation should get freed by free_libipw() but I wasn't able to follow that code path far enough to verify...

drivers/net/wireless/ipw2x00/ipw2200.c +8 -0
index cb2552a..d04d760 100644
@@ -11470,6 +11470,10 @@ static int ipw_net_init(struct net_device *dev)
 		bg_band->channels  			kzalloc(geo->bg_channels *
 				sizeof(struct ieee80211_channel), GFP_KERNEL);
+		if (!bg_band->channels) {
+			rc = -ENOMEM;
+			goto out;
+		}
 		/* translate geo->bg to bg_band.channels */
 		for (i = 0; i < geo->bg_channels; i++) {
 			bg_band->channels[i].band = IEEE80211_BAND_2GHZ;
@@ -11505,6 +11509,10 @@ static int ipw_net_init(struct net_device *dev)
 		a_band->channels  			kzalloc(geo->a_channels *
 				sizeof(struct ieee80211_channel), GFP_KERNEL);
+		if (!a_band->channels) {
+			rc = -ENOMEM;
+			goto out;
+		}
 		/* translate geo->bg to a_band.channels */
 		for (i = 0; i < geo->a_channels; i++) {
 			a_band->channels[i].band = IEEE80211_BAND_2GHZ;