diff options
| -rw-r--r-- | sys/src/9/pc/devether.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/9/pc/devether.c b/sys/src/9/pc/devether.c index 1a5d08bbd..91d1c8574 100644 --- a/sys/src/9/pc/devether.c +++ b/sys/src/9/pc/devether.c @@ -380,6 +380,10 @@ etherprobe(int cardno, int ctlrno) 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 @@ etherprobe(int cardno, int ctlrno) 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); |
