+2008-08-23 Robert Millan <rmh@aybabtu.com>
+
+ * util/getroot.c (find_root_device): Skip anything that starts with
+ a dot, not just directories. This avoids things like /dev/.tmp.md0.
+
2008-08-22 Felix Zielcke <fzielcke@z-51.de>
* util/update-grub.in (GRUB_GFXMODE): Export variable.
{
struct stat st;
- if (strcmp (ent->d_name, ".") == 0 || strcmp (ent->d_name, "..") == 0)
+ /* Avoid:
+ - dotfiles (like "/dev/.tmp.md0") since they could be duplicates.
+ - dotdirs (like "/dev/.static") since they could contain duplicates. */
+ if (ent->d_name[0] == '.')
continue;
if (lstat (ent->d_name, &st) < 0)
/* Don't follow symbolic links. */
continue;
- if (S_ISDIR (st.st_mode) && ent->d_name[0] != '.')
+ if (S_ISDIR (st.st_mode))
{
- /* Find it recursively, but avoid dotdirs (like ".static") since they
- could contain duplicates, which would later break the
- pathname-based check */
+ /* Find it recursively. */
char *res;
res = find_root_device (ent->d_name, dev);