git: 9front

Download patch

ref: cf08c854101ea8a9ee3e529071dc31b1e90a0377
parent: 03da1b574954cd1425bc024a5ced1f0d29b64428
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Sun May 19 21:17:38 EDT 2013

devether: handle malloc error in etherprobe()

--- a/sys/src/9/pc/devether.c
+++ b/sys/src/9/pc/devether.c
@@ -380,6 +380,10 @@
 	char buf[128], name[32];
 
 	ether = malloc(sizeof(Ether));
+	if(ether == nil){
+		print("etherprobe: no memory for Ether\n");
+		return nil;
+	}
 	memset(ether, 0, sizeof(Ether));
 	ether->ctlrno = ctlrno;
 	ether->tbdf = BUSUNKNOWN;
@@ -460,8 +464,7 @@
 		ether->limit = bsz;
 	}
 	if(ether->oq == nil)
-		panic("etherreset %s: can't allocate output queue of %ld bytes",
-			name, bsz);
+		panic("etherreset %s: can't allocate output queue of %ld bytes", name, bsz);
 	ether->alen = Eaddrlen;
 	memmove(ether->addr, ether->ea, Eaddrlen);
 	memset(ether->bcast, 0xFF, Eaddrlen);
--