lib9p: fix .. walk crash in deleted directory (thanks BurnZeZ)
to reproduce: % ramfs; cd /tmp % mkdir foo; cd foo % pwd /tmp/foo % rm /tmp/foo % pwd /tmp/foo % ls % ls /tmp % ls .. ramfs 202751: suicide: sys: trap: fault read addr=0x0 pc=0x0000e46d ls: ..: '..' mount rpc error
This commit is contained in:
parent
16e08adb32
commit
89e6315699
1 changed files with 2 additions and 1 deletions
|
@ -254,7 +254,8 @@ walkfile1(File *dir, char *elem)
|
|||
rlock(dir);
|
||||
if(strcmp(elem, "..") == 0){
|
||||
fp = dir->parent;
|
||||
incref(fp);
|
||||
if(fp != nil)
|
||||
incref(fp);
|
||||
runlock(dir);
|
||||
closefile(dir);
|
||||
return fp;
|
||||
|
|
Loading…
Reference in a new issue