summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/wifi.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-05-20 01:03:20 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-05-20 01:03:20 +0200
commit926dd18a7a335c231774288702eb35efb9d1058a (patch)
treeff1b5e5c243c04f315203d4d13fc4fc1b501249c /sys/src/9/pc/wifi.c
parent18b8ae56e8f944df3c9078afd294aad03b204557 (diff)
wifi: handle malloc errors in wifiattach()
Diffstat (limited to 'sys/src/9/pc/wifi.c')
-rw-r--r--sys/src/9/pc/wifi.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/src/9/pc/wifi.c b/sys/src/9/pc/wifi.c
index 84631a7b9..a23604569 100644
--- a/sys/src/9/pc/wifi.c
+++ b/sys/src/9/pc/wifi.c
@@ -464,8 +464,14 @@ wifiattach(Ether *ether, void (*transmit)(Wifi*, Wnode*, Block*))
Wifi *wifi;
wifi = malloc(sizeof(Wifi));
- wifi->ether = ether;
+ if(wifi == nil)
+ error(Enomem);
wifi->iq = qopen(8*1024, 0, 0, 0);
+ if(wifi->iq == nil){
+ free(wifi);
+ error(Enomem);
+ }
+ wifi->ether = ether;
wifi->transmit = transmit;
wifi->status = Snone;