summaryrefslogtreecommitdiff
path: root/sys/src/9/port/chan.c
diff options
context:
space:
mode:
authorppatience0 <ppatience0@gmail.com>2013-05-06 19:37:51 -0400
committerppatience0 <ppatience0@gmail.com>2013-05-06 19:37:51 -0400
commita1bc7c76ba7392960086e53132bbc5f358bd6b03 (patch)
tree64a3822652f2ff9eed722990175b7c036628242c /sys/src/9/port/chan.c
parent5ac6088b96c67e9799bc8009d46b72819521da87 (diff)
parentcd66b11f67654edfa54cab05422310d5c923784a (diff)
merge
Diffstat (limited to 'sys/src/9/port/chan.c')
-rw-r--r--sys/src/9/port/chan.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/src/9/port/chan.c b/sys/src/9/port/chan.c
index 262b0703d..d0d0ce4bb 100644
--- a/sys/src/9/port/chan.c
+++ b/sys/src/9/port/chan.c
@@ -1472,6 +1472,10 @@ namec(char *aname, int amode, int omode, ulong perm)
/* save&update the name; domount might change c */
path = c->path;
incref(path);
+ if(waserror()){
+ pathclose(path);
+ nexterror();
+ }
m = nil;
if(!nomount)
domount(&c, &m, &path);
@@ -1482,6 +1486,7 @@ namec(char *aname, int amode, int omode, ulong perm)
/* now it's our copy anyway, we can put the name back */
pathclose(c->path);
c->path = path;
+ poperror();
/* record whether c is on a mount point */
c->ismtpt = m!=nil;