aboutsummaryrefslogtreecommitdiff
path: root/emu
diff options
context:
space:
mode:
authorbhgv <bhgv.empire@gmail.com>2018-03-20 12:12:17 +0200
committerbhgv <bhgv.empire@gmail.com>2018-03-20 12:12:17 +0200
commit72f4c783fffbb4f8ec3a65cf23ad4a28e488bfaa (patch)
treef4478fdf317b1015c5f76861d09826266282a677 /emu
parent6be8314bcc624a6cd8a3848dd0424fbac74ffc6d (diff)
checked mntversion. some preparing for clutter
Diffstat (limited to 'emu')
-rw-r--r--emu/port/devmnt.c11
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");