lib9: dotu fixes in convS2M, convM2S

http://codereview.appspot.com/109049
This commit is contained in:
Tim Newsham 2009-08-20 11:37:24 -04:00
parent e7c5e5ed94
commit 8ff457f56d
3 changed files with 36 additions and 6 deletions

View file

@ -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;