[cups.bugs] [HIGH] STR #3185: cups-driverd hangs in infinite loop when there is bad symlink in a PPD directory

Till Kamppeter till.kamppeter at gmail.com
Wed May 6 06:18:14 PDT 2009


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

If there is a "link loop" somewhere in the PPD file directories
cups-driverd will loop infinitely and make CUPS hanging.

To reproduce:

sudo ln -s /usr/share/ppd /usr/share/ppd/test
sudo /usr/lib/cups/daemon/cups-driverd list 1 0 ""

Such broken links should not be there, but they can appear easily in the
PPD directories especially because many third-party packages (printer
driver packages from manufacturers) install files (and symlinks) here.

So cups-driverd should recognize such links and do not follow them. For
example it could record the inodes of the directories it scans and if it
encounters an inode twice, skip this directory.

Link: http://www.cups.org/str.php?L3185
Version: 1.3-current





More information about the cups-devel mailing list