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);
|
rlock(dir);
|
||||||
if(strcmp(elem, "..") == 0){
|
if(strcmp(elem, "..") == 0){
|
||||||
fp = dir->parent;
|
fp = dir->parent;
|
||||||
incref(fp);
|
if(fp != nil)
|
||||||
|
incref(fp);
|
||||||
runlock(dir);
|
runlock(dir);
|
||||||
closefile(dir);
|
closefile(dir);
|
||||||
return fp;
|
return fp;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue