aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/convM2S.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib9/convM2S.c')
-rw-r--r--src/lib9/convM2S.c20
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;