commit-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[2399] 2009-07-06 Pavel Roskin <address@hidden>


From: Pavel Roskin
Subject: [2399] 2009-07-06 Pavel Roskin <address@hidden>
Date: Tue, 07 Jul 2009 03:05:01 +0000

Revision: 2399
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2399
Author:   proski
Date:     2009-07-07 03:05:01 +0000 (Tue, 07 Jul 2009)
Log Message:
-----------
2009-07-06  Pavel Roskin  <address@hidden>

        * commands/search.c (search_fs): Fix potential NULL pointer
        dereference.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/commands/search.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2009-07-06 20:13:06 UTC (rev 2398)
+++ trunk/grub2/ChangeLog       2009-07-07 03:05:01 UTC (rev 2399)
@@ -1,5 +1,8 @@
 2009-07-06  Pavel Roskin  <address@hidden>
 
+       * commands/search.c (search_fs): Fix potential NULL pointer
+       dereference.
+
        * commands/search.c (search_fs): Replace QUID macro with quid_fn
        function pointer.
 

Modified: trunk/grub2/commands/search.c
===================================================================
--- trunk/grub2/commands/search.c       2009-07-06 20:13:06 UTC (rev 2398)
+++ trunk/grub2/commands/search.c       2009-07-07 03:05:01 UTC (rev 2399)
@@ -68,17 +68,19 @@
        {
          grub_fs_t fs;
          int (*compare_fn) (const char *, const char *);
-         grub_err_t (*quid_fn) (grub_device_t, char **);
 
          fs = grub_fs_probe (dev);
          compare_fn = is_uuid ? grub_strcasecmp : grub_strcmp;
-         quid_fn = is_uuid ? fs->uuid : fs->label;
 
-         if (fs && quid_fn)
+         if (fs && (is_uuid ? fs->uuid : fs->label))
            {
              char *quid;
 
-             quid_fn (dev, &quid);
+             if (is_uuid)
+               fs->uuid (dev, &quid);
+             else
+               fs->label (dev, &quid);
+
              if (grub_errno == GRUB_ERR_NONE && quid)
                {
                  if (compare_fn (quid, key) == 0)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]