diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-05-20 01:03:20 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-05-20 01:03:20 +0200 |
commit | 926dd18a7a335c231774288702eb35efb9d1058a (patch) | |
tree | ff1b5e5c243c04f315203d4d13fc4fc1b501249c /sys/src/9/pc/wifi.c | |
parent | 18b8ae56e8f944df3c9078afd294aad03b204557 (diff) |
wifi: handle malloc errors in wifiattach()
Diffstat (limited to 'sys/src/9/pc/wifi.c')
-rw-r--r-- | sys/src/9/pc/wifi.c | 8 |
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; |