From 15755a5f8329aa5395e1bc83231eefad86321ca1 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Thu, 21 Aug 2014 10:56:15 +0200 Subject: [PATCH] ether8139: fix pointer truncation by ulong cast, use mallocalign() --- sys/src/9/pc/ether8139.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/src/9/pc/ether8139.c b/sys/src/9/pc/ether8139.c index bffa7956f..f9596ac7d 100644 --- a/sys/src/9/pc/ether8139.c +++ b/sys/src/9/pc/ether8139.c @@ -403,7 +403,7 @@ rtl8139init(Ether* edev) /* * Receiver */ - alloc = (uchar*)ROUNDUP((ulong)ctlr->alloc, 32); + alloc = ctlr->alloc; ctlr->rbstart = alloc; alloc += ctlr->rblen+16; memset(ctlr->rbstart, 0, ctlr->rblen+16); @@ -453,7 +453,7 @@ rtl8139attach(Ether* edev) qlock(&ctlr->alock); if(ctlr->alloc == nil){ ctlr->rblen = 1<<((Rblen>>RblenSHIFT)+13); - ctlr->alloc = mallocz(ctlr->rblen+16 + Ntd*Tdbsz + 32, 0); + ctlr->alloc = mallocalign(ctlr->rblen+16 + Ntd*Tdbsz, 32, 0, 0); if(ctlr->alloc == nil){ qunlock(&ctlr->alock); error(Enomem);