]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Save & restore grub_fs_autoload_hook while we're in read_fs_list()
authorRobert Millan <rmh@aybabtu.com>
Mon, 9 Nov 2009 21:33:15 +0000 (21:33 +0000)
committerRobert Millan <rmh@aybabtu.com>
Mon, 9 Nov 2009 21:33:15 +0000 (21:33 +0000)
normal/autofs.c

index cf552052a10056cf87b7f0f26401b6e6f28612a2..d1ef761fb2e30467580cec37cccb0da4d5a0eb18 100644 (file)
@@ -61,8 +61,15 @@ read_fs_list (void)
       if (filename)
        {
          grub_file_t file;
+         grub_fs_autoload_hook_t tmp_autoload_hook;
 
          grub_sprintf (filename, "%s/fs.lst", prefix);
+
+         /* This rules out the possibility that read_fs_list() is invoked
+            recursively when we call grub_file_open() below.  */
+         tmp_autoload_hook = grub_fs_autoload_hook;
+         grub_fs_autoload_hook = NULL;
+
          file = grub_file_open (filename);
          if (file)
            {
@@ -116,6 +123,7 @@ read_fs_list (void)
                }
 
              grub_file_close (file);
+             grub_fs_autoload_hook = tmp_autoload_hook;
            }
 
          grub_free (filename);