[Bug 997391] Re: Symbolic links can create recursive loop that causes Baobab to never finish scanning

Henk Joubert jouberthenk at gmail.com
Thu Sep 13 08:05:38 UTC 2012


Tested after applying the update. Scanning a windows 7 root filesystem
now completes.

** Tags removed: verification-needed
** Tags added: verification-done

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ntfs-3g in Ubuntu.
https://bugs.launchpad.net/bugs/997391

Title:
  Symbolic links can create recursive loop that causes Baobab to never
  finish scanning

Status in “ntfs-3g” package in Ubuntu:
  Fix Released
Status in “ntfs-3g” source package in Precise:
  Fix Committed
Status in “ntfs-3g” package in Debian:
  Fix Released
Status in “baobab” package in Fedora:
  Unknown
Status in “ntfs-3g” package in Fedora:
  Unknown

Bug description:
  = Stable Release Update discussion =
  == Impact ==
  readdir() returns the directory type for junction points (NTFS symbolic links). This causes baobab to go into an endless loop when scanning an NTFS file-system. Older baobabs used stat() which correctly identified junction points as being symlinks.

  This would affect all users who run baobab on a Windows 7 (or later)
  root file-system. For dual-booting users, that's fairly likely to be
  where they store most of their media (it's accessible from both OSs),
  and thus the file-system most likely to be full and need the help of
  baobab.

  == Test Case ==
  * Mount a Windows 7 root filesystem.
  * Run baobab on Users/somebody/Local\ Settings/Application\ Data (or just the whole file-system).
  * If affected by this bug, it will appear to take forever to scan, and under strace it's obvious that it's following an endless loop of symlinks. 

  == Regression potential ==
  The patch is limited to readdir() and simply adds support for more types of file. It is not trivial, but is readable and seems plausible.

  Fedora appear are also backporting this patch to F17.

  = Original report =
  1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu
  Ubuntu 12.04 LTS

  2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center
  3.4.1-0ubuntu1

  3) What you expected to happen
  Detect the presence of symbolic link and omit directories under the link

  4) What happened instead
  Scans directories under the symbolic link, which is in reference to the directory above the symbolic link, and continue scanning without completion.

  Case in which bug was discovered:
  When scanning an NTFS drive with Windows 7 installed, the Users\System\AppData\Local\ directory contains a symlink called "Application Data" back to the Users\System\AppData\Local\ directory. This is used to maintain legacy support for older programs that require the Application Data folder. However, when Baobab reaches this point, it assumes that this continues to an infinite depth, and never completes the scan.

  Workaround:
  Omit scanning of the directory that is known to contain such links.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ntfs-3g/+bug/997391/+subscriptions




More information about the foundations-bugs mailing list