Ticket #2777: Stale symlinks in vfs

How to reproduce:
 * mkdir -p a/b/c
 * touch a/b/c/d
 * ln -s d a/b/c/e
 * tar -cf bad.tar a
 * rm -rf a
 * cd bad.tar/utar://a/b/c

Expected result: 'e' should be valid symlink to 'd'
Actual result: 'e' looks like broken link

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
This commit is contained in:
Slava Zanko 2012-04-18 15:55:13 +03:00
parent 4d34ce0eb8
commit 73bd401db1

View File

@ -1149,7 +1149,7 @@ vfs_s_fullpath (struct vfs_class *me, struct vfs_s_inode *ino)
if (!ino->ent)
ERRNOR (EAGAIN, NULL);
if ((MEDATA->flags & VFS_S_USETMP) != 0)
if ((MEDATA->flags & VFS_S_USETMP) == 0)
{
/* archives */
char *newpath;