diff options
Diffstat (limited to 'src/lib9/convM2S.c')
-rw-r--r-- | src/lib9/convM2S.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/lib9/convM2S.c b/src/lib9/convM2S.c index 3df83da2..6a8805c4 100644 --- a/src/lib9/convM2S.c +++ b/src/lib9/convM2S.c @@ -100,6 +100,13 @@ convM2Su(uchar *ap, uint nap, Fcall *f, int dotu) p = gstring(p, ep, &f->aname); if(p == nil) break; + f->uidnum = NOUID; + if(dotu){ + if(p+BIT32SZ > ep) + return 0; + f->uidnum = GBIT32(p); + p += BIT32SZ; + } break; case Tattach: @@ -117,6 +124,13 @@ convM2Su(uchar *ap, uint nap, Fcall *f, int dotu) p = gstring(p, ep, &f->aname); if(p == nil) break; + f->uidnum = NOUID; + if(dotu){ + if(p+BIT32SZ > ep) + return 0; + f->uidnum = GBIT32(p); + p += BIT32SZ; + } break; case Twalk: @@ -233,10 +247,10 @@ convM2Su(uchar *ap, uint nap, Fcall *f, int dotu) p = gstring(p, ep, &f->ename); f->errornum = 0; if(dotu){ - if(p+BIT16SZ > ep) + if(p+BIT32SZ > ep) return 0; - f->errornum = GBIT16(p); - p += BIT16SZ; + f->errornum = GBIT32(p); + p += BIT32SZ; } break; |