diff options
| author | bhgv <bhgv.empire@gmail.com> | 2018-03-20 12:12:17 +0200 |
|---|---|---|
| committer | bhgv <bhgv.empire@gmail.com> | 2018-03-20 12:12:17 +0200 |
| commit | 72f4c783fffbb4f8ec3a65cf23ad4a28e488bfaa (patch) | |
| tree | f4478fdf317b1015c5f76861d09826266282a677 /emu | |
| parent | 6be8314bcc624a6cd8a3848dd0424fbac74ffc6d (diff) | |
checked mntversion. some preparing for clutter
Diffstat (limited to 'emu')
| -rw-r--r-- | emu/port/devmnt.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/emu/port/devmnt.c b/emu/port/devmnt.c index 327ec67..242a10d 100644 --- a/emu/port/devmnt.c +++ b/emu/port/devmnt.c @@ -148,14 +148,16 @@ mntversion(Chan *c, char *version, int msize, int returnlen) f.tag = NOTAG; f.msize = msize; f.version = v; - msg = malloc(8192+IOHDRSZ); +// msg = malloc(8192+IOHDRSZ); + msg = malloc(msize); if(msg == nil) exhausted("version memory"); if(waserror()){ free(msg); nexterror(); } - k = convS2M(&f, msg, 8192+IOHDRSZ); +// k = convS2M(&f, msg, 8192+IOHDRSZ); + k = convS2M(&f, msg, msize); if(k == 0) error("bad fversion conversion on send"); @@ -174,7 +176,8 @@ mntversion(Chan *c, char *version, int msize, int returnlen) } /* message sent; receive and decode reply */ - k = devtab[c->type]->read(c, msg, 8192+IOHDRSZ, c->offset); +// k = devtab[c->type]->read(c, msg, 8192+IOHDRSZ, c->offset); + k = devtab[c->type]->read(c, msg, msize, c->offset); if(k <= 0) error("EOF receiving fversion reply"); @@ -192,7 +195,7 @@ mntversion(Chan *c, char *version, int msize, int returnlen) } if(f.msize > msize) error("server tries to increase msize in fversion"); - if(f.msize<256 || f.msize>1024*1024) + if(f.msize<256 || f.msize>5*1024*1024) error("nonsense value of msize in fversion"); if(strncmp(f.version, v, strlen(f.version)) != 0) error("bad 9P version returned from server"); |
