summaryrefslogtreecommitdiff
path: root/sys/src/9/port/devsd.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2011-12-12 19:17:58 +0100
committercinap_lenrek <cinap_lenrek@centraldogma>2011-12-12 19:17:58 +0100
commit8cb8043d0ebeadb0d424fb1051a49573430322a3 (patch)
tree3bb91278b127dce9ebf0d30975bc7197ac2765a8 /sys/src/9/port/devsd.c
parent304ee3b2b55971d9f5f820511fb9cdadcb77b818 (diff)
kernel: fix more malloc/smalloc errors
Diffstat (limited to 'sys/src/9/port/devsd.c')
-rw-r--r--sys/src/9/port/devsd.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/src/9/port/devsd.c b/sys/src/9/port/devsd.c
index 38b10f6a9..d9d3fa152 100644
--- a/sys/src/9/port/devsd.c
+++ b/sys/src/9/port/devsd.c
@@ -1226,8 +1226,7 @@ sdread(Chan *c, void *a, long n, vlong off)
error(Eperm);
case Qtopctl:
m = 64*1024; /* room for register dumps */
- p = buf = malloc(m);
- assert(p);
+ p = buf = smalloc(m);
e = p + m;
qlock(&devslock);
for(i = 0; i < nelem(devs); i++){
@@ -1253,7 +1252,7 @@ sdread(Chan *c, void *a, long n, vlong off)
unit = sdev->unit[UNIT(c->qid)];
m = 16*1024; /* room for register dumps */
- p = malloc(m);
+ p = smalloc(m);
l = snprint(p, m, "inquiry %.48s\n",
(char*)unit->inquiry+8);
qlock(&unit->ctl);
@@ -1790,6 +1789,8 @@ getnewport(DevConf* dc)
Devport *p;
p = malloc((dc->nports + 1) * sizeof(Devport));
+ if(p == nil)
+ panic("sd: no memory for Devport");
if(dc->nports > 0){
memmove(p, dc->ports, dc->nports * sizeof(Devport));
free(dc->ports);