diff options
author | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-12-12 19:17:58 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-12-12 19:17:58 +0100 |
commit | 8cb8043d0ebeadb0d424fb1051a49573430322a3 (patch) | |
tree | 3bb91278b127dce9ebf0d30975bc7197ac2765a8 /sys/src/9/port/devsd.c | |
parent | 304ee3b2b55971d9f5f820511fb9cdadcb77b818 (diff) |
kernel: fix more malloc/smalloc errors
Diffstat (limited to 'sys/src/9/port/devsd.c')
-rw-r--r-- | sys/src/9/port/devsd.c | 7 |
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); |