From 926dd18a7a335c231774288702eb35efb9d1058a Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 20 May 2013 01:03:20 +0200 Subject: wifi: handle malloc errors in wifiattach() --- sys/src/9/pc/wifi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3