summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isofs/inode.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/isofs/inode.c b/isofs/inode.c
index cf74ecb7..29f35233 100644
--- a/isofs/inode.c
+++ b/isofs/inode.c
@@ -422,7 +422,7 @@ read_disknode (struct node *np, struct dirrect *dr,
}
}
- if (rr->valid & VALID_TR)
+ if (rl->valid & VALID_TR)
{
st->st_mode |= S_IPTRANS;
np->dn->translen = rl->translen;
@@ -430,8 +430,11 @@ read_disknode (struct node *np, struct dirrect *dr,
rl->trans = 0;
}
else
- np->dn->translator = np->dn->translen = 0;
-
+ {
+ np->dn->translator = 0;
+ np->dn->translen = 0;
+ }
+
diskfs_end_catch_exception ();
return 0;
@@ -456,8 +459,8 @@ diskfs_node_norefs (struct node *np)
assert (node_cache[np->cache_id - 1].np == np);
node_cache[np->cache_id - 1].np = 0;
- if (np->translator)
- free (np->translator);
+ if (np->dn->translator)
+ free (np->dn->translator);
assert (!np->dn->fileinfo);
free (np->dn);