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.
This commit is contained in:
parent
d5a7dc5b74
commit
8415f2617c
2 changed files with 11 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
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>
|
2008-08-22 Felix Zielcke <fzielcke@z-51.de>
|
||||||
|
|
||||||
* util/update-grub.in (GRUB_GFXMODE): Export variable.
|
* util/update-grub.in (GRUB_GFXMODE): Export variable.
|
||||||
|
|
|
@ -196,7 +196,10 @@ find_root_device (const char *dir, dev_t dev)
|
||||||
{
|
{
|
||||||
struct stat st;
|
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;
|
continue;
|
||||||
|
|
||||||
if (lstat (ent->d_name, &st) < 0)
|
if (lstat (ent->d_name, &st) < 0)
|
||||||
|
@ -207,11 +210,9 @@ find_root_device (const char *dir, dev_t dev)
|
||||||
/* Don't follow symbolic links. */
|
/* Don't follow symbolic links. */
|
||||||
continue;
|
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
|
/* Find it recursively. */
|
||||||
could contain duplicates, which would later break the
|
|
||||||
pathname-based check */
|
|
||||||
char *res;
|
char *res;
|
||||||
|
|
||||||
res = find_root_device (ent->d_name, dev);
|
res = find_root_device (ent->d_name, dev);
|
||||||
|
|
Loading…
Reference in a new issue