diff -r 0c163a8589a6 sys/src/cmd/upas/fs/fs.c --- a/sys/src/cmd/upas/fs/fs.c Mon Dec 10 05:18:05 2018 +0000 +++ b/sys/src/cmd/upas/fs/fs.c Tue Dec 11 21:05:10 2018 -0800 @@ -679,12 +679,14 @@ case Qraw: cacheheaders(mb, m); p = m->start; + if(p) if(strncmp(m->start, "From ", 5) == 0) if(e = strchr(p, '\n')) p = e + 1; d->name = dirtab[t]; - d->length = m->size - (p - m->start); - putcache(mb, m); + d->length = p ? m->size - (p - m->start) : 0; + if(p) + putcache(mb, m); break; case Qrawbody: d->name = dirtab[t];