commit - 1e22e8e41463896755b37d45bf76e14683e30f94
commit + f2466297885cfdd3424033139d5aa14065791b84
blob - 623b966a51b1828137f8349bc11dc00434114f03
blob + 3693164b12288b7bdc5e9bebbf40e6bcb00bd961
--- src/cmd/9pserve.c
+++ src/cmd/9pserve.c
{
STACK = 32768,
NHASH = 31,
- MAXMSG = 64 /* per connection */
+ MAXMSG = 64, /* per connection */
+ MAXMSGSIZE = 4*1024*1024
};
typedef struct Hash Hash;
if(n != nn)
sysfatal("error writing Tversion: %r\n");
n = read9pmsg(0, vbuf, sizeof vbuf);
+ if(n < 0)
+ sysfatal("read9pmsg failure"):
if(convM2S(vbuf, n, &f) != n)
sysfatal("convM2S failure");
if(f.msize < msize)
if(n != 4)
return nil;
n = GBIT32(buf);
+ if(n > MAXMSGSIZE)
+ return nil;
pkt = emalloc(n);
PBIT32(pkt, n);
nn = ioreadn(io, fd, pkt+4, n-4);